我工作的JavaScript和停留在一个小问题。如何格式化格式正确日期在JavaScript
我收到此日期JSON响应1322919399447-0500
,我想格式化这个样:6:50 PM, Dec 3rd 2011
。
我工作的JavaScript和停留在一个小问题。如何格式化格式正确日期在JavaScript
我收到此日期JSON响应1322919399447-0500
,我想格式化这个样:6:50 PM, Dec 3rd 2011
。
我不确定这是否是最好的方法(我确定它不是,实际上),但基本上你可以将该日期字符串放入一个js Date对象中,然后将它们拉出来, :
var dateThing = new Date(1322919399447-0500);
dateThing.getFullYear(); // 2011
dateThing.getDay(); // 6
dateThing.getDate(); // 3
dateThing.getMonth(); // 11
dateThing.getHours(); // 8 (test for anything over 12, that indicates PM)
dateThing.getMinutes(); // 36
然后,您可以将这些部分连接成您自己的格式。就像我说的那样,可能有更好的方法,但是这种方法很有效。
哦,这个帖子里提到了很多好东西。一探究竟。 –
Date构造函数中的'-0500'不是一个好主意。首先,它打算是一个时区偏移量(从UTC开始的小时数)。另一方面,严格模式外的'0500'将导致'320',即八进制'0500'的十进制值。所以实际上,你距实际日期值320毫秒,而不是5小时。 –
thanx很多....! –
我用这个方便的小date format addon和它的工作对我非常好。甚至在这个月里照顾了讨厌的互联网浏览器怪癖。
Here是你的榜样输入该代码段。它使用script链接Zoidberg。
此代码返回格式的UTC日期。如果您想要本地日期,请从return
声明中删除UTC:
。
function convertTime(dateString) {
// get ms part from the string
var milis = +dateString.substring(0, 13);
// get timezone part as "# of hours from UTC", e.g. "-0500" -> -5
var offset = +dateString.substring(13, 16);
// move the time for "offset" number of hours (to UTC time)
var date = new Date(milis - offset * 3600000);
// using http://stevenlevithan.com/assets/misc/date.format.js
return date.format("UTC:h:MM TT, mmm dS yyyy");
}
编辑:改变+ offset *
到- offset *
,因为我们要正常化UTC。
这是我创建了一个使用PHP的日期功能使用相同的标志相似的日期格式的功能。
的
可能重复[如何格式化JSON日期?(http://stackoverflow.com/questions/206384/how-to-format-a-json-date) – ajreal
是一个热门的话题,你可以找到现有的问题(当然是这样) – ajreal
你能否请你重温这个问题,检查答案并接受你最喜欢的那个? – kubetz