代码:
var currentDate = new Date();
var utcString = currentDate.toUTCString();
var utcDate = new Date(utcString);
console.log("CURRENT DATE: " + currentDate)
console.log(utcDate);
console.log("UTC STRING: " + utcString);
console.log("UTCDATE: " + utcDate)
输出:
CURRENT DATE: Fri Dec 14 2018 06:19:05 GMT+0545 (+0545)
2018-12-14T00:34:05.000Z
UTC STRING: Fri, 14 Dec 2018 00:34:05 GMT
UTCDATE: Fri Dec 14 2018 06:19:05 GMT+0545 (+0545)
在这里,我将currentDate转换为UTCString,并尝试在javascript中将UTCStiring转换为Date对象。
现在,在输出当前日期的情况下很好,并且当我登录utcDate时也很好,它显示了当前系统日期的适当UTC时间,问题是当我将utcDate对象连接到字符串时(在最后一行代码)打印出来与当前日期相同,为什么会这样呢?上面代码中第5行和第7行的值应该相似。
答案 0 :(得分:1)
第三行自动调用.toString()方法,而不是toUTCString()。该方法在编译时插入。
答案 1 :(得分:-1)
您应该使用此代码,它对我有用,结果对象可能不是真正的UTC日期,而是本地日期偏移了UTC时间。
var currentDate = new Date();
var utcDate = new Date(currentDate.getTime() + currentDate.getTimezoneOffset() * 60000);