【问题标题】:Which kind of date format is this and how to convert it into JavaScript date?这是哪种日期格式以及如何将其转换为 JavaScript 日期?
【发布时间】:2013-02-21 20:10:59
【问题描述】:

此日期格式是否有任何特定名称和/或是否用于任何特定编程语言?

2012-11-28T12:52:22+0000

我需要将其转换为 JavaScript 或 PHP 日期,可能不使用字符串连接。

有人在这里做了什么:Convert a Unix timestamp to time in JavaScript

这两种编程语言中是否有任何预先制作的功能可以做到这一点?

【问题讨论】:

标签: php javascript date


【解决方案1】:

PHP 使用 DateTime 类轻松处理这个问题:

$dt = new DateTime('2012-11-28T12:52:22+0000');
echo $dt->format('Y-m-d');

See it in action

format() 接受与date() 相同的参数,因此您可以将其格式化为您需要的任何格式。

参考

【讨论】:

    【解决方案2】:

    这是一个ISO-8601 日期,这在网络上变得非常普遍。

    它是一种互操作格式,被许多框架支持,并被添加到PHP in version 5.1.0

    在 JavaScript 中,Date.toISOString() 方法以及 Moment.js 等库都支持它。

    您可以使用其构造函数从 ISO 字符串构造 JavaScript Date

    var date = new Date('2012-11-28T12:52:22+0000');
    

    请注意,JavaScript 在日期方面是出了名的糟糕。它仅从本地角度或 UTC 理解日期。您提供的任何偏移量都将合并到日期中。 Moment.js 正在对此进行处理。 see here.

    【讨论】:

    • 所以我必须为 JavaScript 使用外部库。我没想到...谢谢!
    【解决方案3】:

    是的,它被称为 ISO-8601 日期。使用 PHP,您可以使用 date('c') 和 JavaScript 生成它:

    var date = new Date('2012-11-28T12:52:22+0000');
    date.toISOString();
    

    如您所见,Date() 的参数可以是这样一个字符串。

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 2011-01-22
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2017-10-12
      • 1970-01-01
      相关资源
      最近更新 更多