在UTC中调用toLocaleString()

Old*_*zer 2 javascript

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

我的时区是UTC-4。

当我调用时:

 d.toLocaleString("en-US", { month: "short" });
Run Code Online (Sandbox Code Playgroud)

我得到Apr,因为日期是运行Javascript的日期2017年4月30日2100h UTC-4。

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

Tim*_*imo 5

您可以指定一个参数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"
Run Code Online (Sandbox Code Playgroud)