我从数据源收到一个日期,该日期返回到javascript代码。
2011-01-03T05:53:00Z
格式化此日期的最佳方法是什么? TZ不需要被偏移,因为用户都将在同一区域中,我需要一种方法来简单地格式化它。
03/01/2011 05:53:00
我已经用replace()完成了几行,但是有更优雅的解决方案吗?
答案 0 :(得分:2)
使用反向引用:
var dat = "2001-08-01T12:00:00Z";
var newDat = dat.replace(/(\d{4})-(\d{2})-(\d{2})T([0-9:]+)Z/, "$2/$3/$1 $4");
alert(newDat);
答案 1 :(得分:1)
我是这样做的 - 它可以在IE8,Fx3.6,Safari4,Chrome中使用,而不是在Fx中工作但未在其他几个浏览器中使用的未编辑字符串:
new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))
但我相信有人会发布带有反向引用的REGEX:)
答案 2 :(得分:1)
第一个解决方案是依赖正则表达式,但在检查之后,至少使用V8,Date构造函数确实接受您拥有的字符串作为有效日期字符串。
var date = new Date(“2011-01-03T05:53:00Z”)
创建一个有效的Date对象。然后,您可以使用Date方法创建要使用的字符串。
有关Date对象的更多信息,请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date。