Javascript 如何在不更改日期/时间的情况下将UTC日期转换为ISOString格式?

Javascript 如何在不更改日期/时间的情况下将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 >>>

这是到目前为止我掌握的代码。当前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 >>> 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"