这是哪种日期格式以及如何将其转换为JavaScript日期?

时间:2013-02-21 20:11:00

标签: php javascript date

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

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

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

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

这两种编程语言中是否有任何预制函数可以这样做?

3 个答案:

答案 0 :(得分:5)

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

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

See it in action

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

<强>参考

答案 1 :(得分:3)

这是一个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

答案 2 :(得分:2)

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

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

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