在Javascript转换日期

问题描述:

我的AJAX调用返回的日期时间值,因为这在Javascript转换日期

/Date(1320120000000-0400)/

如何将其转换为使用Javascript可读的格式(例如2011年11月31日)?

+0

如果你告诉我们,'1320120000000-0400'时间戳的原始日期字符串这将是很好。非常基本的:'(new Date(1320120000000))。toString()'。 –

+0

另外,你从哪一种服务器获得这个日期? – benekastah

+0

这是通过Web服务(.net)从Oracle数据库(日期字段)传递的, – Victor

这是毫秒数,因为时代:

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方法其格式化为一个字符串。

Read More here

调用toDateString将返回刚刚在美国英语(“星期一2011年10月31日”)人类可读的格式格式化的日期部分。

如果你特别需要“2011年11月31日”,然后建立使用getMonthgetDategetFullYear自定义字符串。

var date = new Date(1320120000000-0400); 
var formatted = date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear(); 

这里更多:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date