带时区的javascript日期格式

时间:2011-01-03 07:47:07

标签: javascript datetime replace

我从数据源收到一个日期,该日期返回到javascript代码。

2011-01-03T05:53:00Z

格式化此日期的最佳方法是什么? TZ不需要被偏移,因为用户都将在同一区域中,我需要一种方法来简单地格式化它。

03/01/2011 05:53:00

我已经用replace()完成了几行,但是有更优雅的解决方案吗?

3 个答案:

答案 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