首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UTC中调用toLocaleString()

在UTC中调用toLocaleString()
EN

Stack Overflow用户
提问于 2017-03-22 15:29:13
回答 2查看 8K关注 0票数 5

我有一个变量d,类型为Date和值'2017-05-01T01:00:00.000Z'

我的时区是UTC-4。

当我引用:

代码语言:javascript
复制
 d.toLocaleString("en-US", { month: "short" });

我得到了Apr,因为日期是2017年4月30日2100 hUTC-4,我的Javascript正在运行。

是否有一种简单的方法可以让toLocaleString根据UTC的等效值来处理日期实例?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-22 15:36:43

可以使用timeZone,它定义了格式化日期时使用的目标时区:

代码语言:javascript
复制
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"

票数 12
EN

Stack Overflow用户

发布于 2017-03-22 15:35:18

代码语言:javascript
复制
// Adjust date to UTC 0
d = new Date(d.valueOf() + d.getTimezoneOffset() * 60000);
d.toLocaleString("en-US", { month: "short" })

更新@Timo's answer要好得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42956104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档