我有一个变量d,类型为Date和值'2017-05-01T01:00:00.000Z'。
我的时区是UTC-4。
当我引用:
d.toLocaleString("en-US", { month: "short" });我得到了Apr,因为日期是2017年4月30日2100 hUTC-4,我的Javascript正在运行。
是否有一种简单的方法可以让toLocaleString根据UTC的等效值来处理日期实例?
发布于 2017-03-22 15:36:43
可以使用timeZone,它定义了格式化日期时使用的目标时区:
var date = new Date('2017-05-01T01:00:00.000Z');
console.log(date.toLocaleString("en-US", { month: "short", timeZone: 'America/New_York' }));
// "Apr"
console.log(date.toLocaleString("en-US", { month: "short", timeZone: 'UTC' }));
// "May"
发布于 2017-03-22 15:35:18
// Adjust date to UTC 0
d = new Date(d.valueOf() + d.getTimezoneOffset() * 60000);
d.toLocaleString("en-US", { month: "short" })更新@Timo's answer要好得多。
https://stackoverflow.com/questions/42956104
复制相似问题