2009-12-31 161 views
4

我想获取ISO8601格式(例如2009年12月31日,02:53)中的服务器或客户端的当前日期/时间戳。我知道使用PHP可以观察到服务器时间,并使用jQuery $ .getJson将其带入DOM。客户端时间可以使用JavaScript/jQuery从浏览器记录。我希望时间戳是静态的(不是动态的/实时的)。我的PHP/JS新手,将不胜感激您的帮助。谢谢。获取当前ISO8601日期/时间戳

+4

你在ISO 8601例如格式将是2009-12-31T02:53 – 2009-12-31 20:23:38

回答

7

对于JavaScript只需要创建一个新的Date对象这样

var currentDate = new Date(); 

,然后你可以构建你的日期在你想使用Date提供方法的任何格式。请参阅this reference以了解您可以使用的完整方法列表。

在你的情况,你可以做这样的事情:

var months = Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); 

var currentDate = new Date(); 
var formatedDate = currentDate.getDate() + ' ' + months[currentDate.getMonth()] + ' ' + currentDate.getFullYear() + ' ' + currentDate.getHours() + ':' + currentDate.getMinutes(); 

至于PHP是如此简单:

$formatedDate = date("c"); 

有关Date()功能完整的参考见this page

+1

在PHP中,日期( “ĴMYH:我” )生成格式化为“2012年8月21日23:48”的日期字符串。这当然不是提问者所要求的ISO8601格式。 ISO8601格式可以用简单的日期(“c”)来实现。 - @MagicMushroom – 2012-08-21 23:56:52

15

在PHP 5中,你可以做

date("c"); // ISO 8601 date (added in PHP 5) 

看到date