在Javascript转换日期
问题描述:
我的AJAX调用返回的日期时间值,因为这在Javascript转换日期
/Date(1320120000000-0400)/
如何将其转换为使用Javascript可读的格式(例如2011年11月31日)?
答
这是毫秒数,因为时代:
new Date(1320120000000) //Tue Nov 01 2011 05:00:00 GMT+0100 (CET)
然而,-0400
似乎是一个GMT偏移量你也有应用。我想它有HHMM
的格式,所以在这种情况下,你必须从给定值减去凌晨4点:
new Date(1320120000000 - 4 * 3600 * 1000) //Tue Nov 01 2011 01:00:00 GMT+0100 (CET)
最后请注意,在注释中显示的Date.toString()
方法使用浏览器时区(CET我的情况,参见:Annoying javascript timezone adjustment issue)。您应该使用getUTC*()
方法Date
以获得不受浏览器影响的准确结果。
答
var date = new Date();
date.setTime("1320120000000");
这应该工作
您现在可以使用,getDay,得到月,和getFullYear方法其格式化为一个字符串。
答
调用toDateString
将返回刚刚在美国英语(“星期一2011年10月31日”)人类可读的格式格式化的日期部分。
如果你特别需要“2011年11月31日”,然后建立使用getMonth
,getDate
和getFullYear
自定义字符串。
var date = new Date(1320120000000-0400);
var formatted = date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear();
这里更多:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
如果你告诉我们,'1320120000000-0400'时间戳的原始日期字符串这将是很好。非常基本的:'(new Date(1320120000000))。toString()'。 –
另外,你从哪一种服务器获得这个日期? – benekastah
这是通过Web服务(.net)从Oracle数据库(日期字段)传递的, – Victor