JavaScript日期函数在Firefox中不起作用

JavaScript日期函数在Firefox中不起作用,javascript,date,firefox,Javascript,Date,Firefox,我有这个代码,我在chrome上运行它 var time = new Date("2014-02-11 19:30:00" + ' UTC'); 这正好给了我我所需要的,它将我传递的日期转换为我的本地时间。即使是这一个也会做同样的事情 var time = new Date("2014-02-11T19:30:00"); 问题是第一个函数在Mozilla中不起作用,第二个函数不能将日期转换为我的本地时区。我需要在这两个探索者中进行转换(实际上是在所有探索者中),但至少在这两个探索者中进行转换

我有这个代码,我在chrome上运行它

var time = new Date("2014-02-11 19:30:00" + ' UTC');
这正好给了我我所需要的,它将我传递的日期转换为我的本地时间。即使是这一个也会做同样的事情

var time = new Date("2014-02-11T19:30:00");

问题是第一个函数在Mozilla中不起作用,第二个函数不能将日期转换为我的本地时区。我需要在这两个探索者中进行转换(实际上是在所有探索者中),但至少在这两个探索者中进行转换将是非常好的。

创建了一个JavaScript日期实例,该实例表示一个时间点。日期对象基于时间值,该时间值是自1970年1月1日UTC以来的毫秒数

Constructor

new Date();
new Date(value);
new Date(dateString);
new Date(year, month [, day, hour, minute, second, millisecond]);
在月份字段中使用值0-11是最好的选择

我认为使用字符串的构造函数依赖于系统(更不用说依赖于区域设置/时区),因此最好使用构造函数,将年/月/日指定为单独的参数

顺便说一句,在Firefox中

  new Date("04/02/2008");
对我来说很好-它可以解释斜杠,但不能解释连字符。我认为这证明了我的观点,即使用字符串构造日期对象是有问题的。改为使用月/日/年的显式值:

  new Date(2008, 3, 2);

这应在以下两方面起作用:

注:TZD=时区指示器(Z或+hh:mm或-hh:mm)


新日期(“1994-11-05T13:15:30Z”)

除非你住在英国,否则这两个剪子不会做相同的事情。。。任何支持JSON的浏览器都将正确解析ISO格式的“2014-02-13T18:33:27.872Z”。你可以把你的日期分成几个部分,或者在解析之前将字符串转换成ISO格式。对不起,我复制并粘贴到了一个新的文档上,它们的操作完全相同(至少在谷歌浏览器中是这样)。我来自委内瑞拉。也许因为这种特殊的输入格式不是标准的,所以你的浏览器会把它输入到本地日期,试图恢复它能恢复的任何信息。吉戈。将我的第一条评论改写为“不应该”…是的,正如LShetty所说,解决方案是将我的日期格式化为ISO格式。谢谢,我真的很感谢您提供的信息:)谢谢,虽然这解决了函数在浏览器中工作而不是在其他浏览器中工作的问题,但它不会转换为本地时区(这是我真正需要的).解析标准日期字符串的最大优点是,数字中包含时区信息…哦,我想我明白你的意思了,如果这是我所想的,那么它对我不起作用的原因是因为我在服务器上保存转换为UTC的日期,然后当我想向用户显示它时,我必须将此UTC日期转换为用户时区。因此,我提供给构造函数的日期字符串是UTC格式的,我希望它是localtimzone格式的。对不起,我解释得太久了,但我想这就是你的意思。是的!这对两个探险者都有效,并且可以转换为本地时区。谢谢!