带时区的javascript日期格式

带时区的javascript日期格式,javascript,datetime,replace,Javascript,Datetime,Replace,我从返回到javascript代码的数据源接收到一个日期 2011-01-03T05:53:00Z 格式化此日期的最佳方式是什么?TZ不需要偏移,因为用户都在同一个区域,我需要一个方法来简单地格式化它 03/01/2011 05:53:00 我已经用replace在几行中完成了这项工作,但有没有更优雅的解决方案?我就是这样做的-它在IE8、Fx3.6、Safari4、Chrome中工作,而不是在Fx中工作但在其他几种浏览器中不工作的未编辑字符串: new Date('2001-01-01T1

我从返回到javascript代码的数据源接收到一个日期

2011-01-03T05:53:00Z
格式化此日期的最佳方式是什么?TZ不需要偏移,因为用户都在同一个区域,我需要一个方法来简单地格式化它

03/01/2011 05:53:00

我已经用replace在几行中完成了这项工作,但有没有更优雅的解决方案?

我就是这样做的-它在IE8、Fx3.6、Safari4、Chrome中工作,而不是在Fx中工作但在其他几种浏览器中不工作的未编辑字符串:

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))

但我相信有人会发布一个带有反向引用的正则表达式:

我是这样做的-它在IE8、Fx3.6、Safari4、Chrome中工作,而未编辑的字符串在Fx中工作,但在其他几种浏览器中不工作:

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))

但我相信有人会发布一个带有反向引用的正则表达式:

第一个解决方案是依赖正则表达式,但在检查之后,至少在V8中,日期构造函数会接受您作为源的字符串作为有效的日期字符串

var日期=新日期2011-01-03T05:53:00Z

创建有效的日期对象。然后可以使用日期方法创建要使用的字符串


有关日期对象的详细信息,请参阅。

第一种解决方案是依赖正则表达式,但在检查之后(至少在V8中),日期构造函数会接受您作为源的字符串作为有效的日期字符串

var日期=新日期2011-01-03T05:53:00Z

创建有效的日期对象。然后可以使用日期方法创建要使用的字符串

有关日期对象的更多信息,请参见。

使用反向引用:

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);
使用反向引用:

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);

但并非在所有浏览器中。因此,我建议替换这是我一直在寻找的,但是我在Adobe Air中编译代码,它与date有一些问题,请参见此处=它在编译时会丢失其类型。确实,这肯定存在兼容性问题。但并非在所有浏览器中都是如此。因此,我的建议是替换这是我一直在寻找的,但是我在Adobe Air中编译代码,它与date有一些问题,请参见此处=它在编译时会丢失其类型。确实,这肯定存在兼容性问题。正如我所预测的,有人会发布此:+1我想在看到您答案中的注释后发布此消息:正如我预测的,有人会发布此:+1我想在看到您答案中的注释后发布此消息: