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

问题描述:

此日期格式是否有任何特定的名称和/或是否在任何特定的编程语言中使用?这是哪种日期格式以及如何将其转换为JavaScript日期?

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

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

什么样的人一样在这里:Convert a Unix timestamp to time in JavaScript

是否有这2种编程语言有任何预先制作功能,这样做呢?

+0

与此相同的问题:http://*.com/questions/2002891/what-do-you-call-a-日期时间与中间2008-09-18t000000 – hinekyle 2013-02-21 20:17:09

+0

好吧,不完全相同,如果你阅读他们在这里发布的答案。 – Saturnix 2013-02-21 20:19:55

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

+0

所以我必须使用JavaScript的外部库。我没有想到...谢谢! – Saturnix 2013-02-21 20:22:18

+1

@Saturnix - 不一定。看到我更新的回复。 – 2013-02-21 20:44:54

是的,它被称为ISO-8601日期。随着PHP你date('c')使用JavaScript生成它:

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

正如你所看到的,参数日期()可以只是这样的字符串。

PHP处理这一点很容易与DateTime类:

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

See it in action

format()接受相同的参数date(),所以你可以把它格式化成你所需要的任何格式。

参考