为什么新的Date()函数在chrome和firefox中提供不同的输出

时间:2015-12-09 12:56:20

标签: javascript date time

我将这个新日期传递到Firefox和Chrome控制台(同一台计算机和时区),我的结果好坏参与。令人困惑...... 在铬 新日期(); // Wed Dec 09 2015 18:06:55 GMT + 0530(IST)

在Firefox中 新日期(); //日期2015-12-09T12:36:34.410Z

3 个答案:

答案 0 :(得分:7)

您的混淆是由不同的时区显示造成的。

您的Chrome为您提供UTC + 0的时间,而Firefox则为您提供GMT + 0530的时间。

您可以通过编写

指定您希望两者始终为UTC
var myDate = new Date();
myDate.toISOString() // will give you a date in the format you see by Chrome

答案 1 :(得分:0)

您看到的是Date.prototype.toString的结果,完全依赖于实施。因此,您可能会在每个测试的客户端看到不同的字符串。

您可以使用toISOString获取UTC的ISO 8601格式字符串。有polyfill on MDN

document.write(new Date().toISOString());

答案 2 :(得分:0)

Firefox不喜欢字符串中的'-'

使用/使用正则表达式替换所有出现的-,然后将字符串转换为Date对象。

var str = '01-25-2019 10:28:15 AM';

str = str.replace(/-/g,'/');  //replaces all occurances of "-" 
with "/"

var dateobject = new Date(date_string);

alert(dateobject.toDateString());