我将这个新日期传递到Firefox和Chrome控制台(同一台计算机和时区),我的结果好坏参与。令人困惑...... 在铬 新日期(); // Wed Dec 09 2015 18:06:55 GMT + 0530(IST)
在Firefox中 新日期(); //日期2015-12-09T12:36:34.410Z
答案 0 :(得分:7)
您的混淆是由不同的时区显示造成的。
您的Chrome为您提供UTC + 0的时间,而Firefox则为您提供GMT + 0530的时间。
您可以通过编写
指定您希望两者始终为UTCvar 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());