日期格式为UTC月份日期和年份(MMM DD,YYYY)
问题描述:
你好我试图更改此日期2017年3月29日为UTC日期:日期格式为UTC月份日期和年份(MMM DD,YYYY)
这是我的尝试:
var isoDate = new Date('Mar 29, 2017').toISOString();
//isoDate => returns "2017-03-28T22:00:00.000Z"
为什么会收到28T22在begginning而不是29?
答
您在UTC时区转换,而不是CET。
CET代表中欧时间。 UTC被称为世界时间。
UTC比CET晚了2个小时。
所以,当它是11:00 CET这将是上午9时UTC。
toISOString()
将通过添加/减去UTC和您的时区之间的时间差来显示日期。 (见评论)
+0
这里值得注意的是,不管时区如何,都可以按UTC创建一个日期,但是对于它的完成方式要严格得多。要得到'2017-03-29T00:00:00.000Z',你可以这样做:'new Date(Date.UTC(2017,2,29))' – kristofferostlund
答
为什么我得到28T22在开始而不是29?
好吧,只是因为你强制它,你正在使用.toISOString()
这将返回ISO格式的日期。
因为Mar 29, 2017 T00:00:00.000Z
在CET是ISO格式2017-03-28T22:00:00.000Z
。
你可以检查the difference between UTC and CET time zones了解更多详情。
输出错误? 2017年3月29日(星期二)中欧时间是2017年3月28日22:00 UTC(ISO格式为“2017-03-28T22:00:00.000Z”) –
请参阅此链接(https://www.worldtimebuddy。 com/cet-to-utc-converter)以获取更多信息。 - 你看到CET是+ 2h或从另一边UTC是-2h。 – Felix
你的时区是? '''toISOString()'''会通过添加/减去UTC和你的时区之间的时间差来显示日期。 –