我正在研究JavaScript并陷入一个小问题。
我在JSON回复1322919399447-0500
我希望将其格式化为:6:50 PM, Dec 3rd 2011
。
答案 0 :(得分:1)
我使用了这个方便的小date format addon,它对我来说效果很好。这个月甚至照顾了讨厌的互联网浏览器怪癖。
答案 1 :(得分:1)
我不确定这是不是最好的方式(我确定它不是,实际上),但实际上你可以将日期字符串变成一个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
然后,您可以将这些部分连接成您自己的格式。就像我说的那样,可能有更好的方法,但这种方法很有效。
答案 2 :(得分:1)
Here是您的示例输入的代码段。它使用 Zoidberg 链接的script。
此代码返回格式化的UTC日期。如果您需要本地日期,请从UTC:
声明中删除return
。
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。
答案 3 :(得分:1)
这是我创建的类似日期格式函数,它使用与PHP日期函数相同的标志。