Javascript 如何在不更改日期/时间的情况下将UTC日期转换为ISOString格式?
这是到目前为止我掌握的代码。当前UTC时间=1:22pmJavascript 如何在不更改日期/时间的情况下将UTC日期转换为ISOString格式?,javascript,Javascript,这是到目前为止我掌握的代码。当前UTC时间=1:22pm var now = new Date(); var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds()); var isoDate1 = now_utc.toISOString(); now >>>
var now = new Date();
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
var isoDate1 = now_utc.toISOString();
now >>> Wed Jul 06 2016 21:22:20 GMT+0800
now_utc >>> Wed Jul 06 2016 13:22:20 GMT+0800 (Malay Peninsula Standard Time)
isoDate1 >>> "2016-07-06T05:22:20.000Z"
我的问题是,我期望并需要isoDate1如下所示:
2016-07-06T13:22:20.000Z
现在看来utc是正确的,但当转换为iso格式时,它会发生变化
有人能给我一些建议吗?新日期(…)
将始终以传递的日期/时间作为本地时间来构造它,toISOString
为您提供ISO格式,但也提供与您构造的本地时间相当的UTC格式,因此,您所看到的行为-请注意您的now_utc
输出如何显示GMT+0800
-这意味着这是一个本地时间,与GMT/utc偏移+8小时
您只需执行此操作即可将当前UTC时间作为ISO字符串获取:
(new Date()).toISOString(); //"2016-07-06T13:39:50.432Z"