将纪元时间转换为 GMT 日期时间 Javascript

Converting epoch time to GMT Date Time Javascript

我目前在我的应用程序中使用 moment js,但无法弄清楚如何将纪元时间转换为 GMT 日期时间。在下面提供我的代码:

click: (event) => {
   console.log(moment.utc(event.point.category).toDate());
}

event.point.category 提供了纪元时间,我想将其转换为 GMT 日期时间对象,但上面的代码将其转换为本地时区日期对象。

例如。 1606262400000 正在转换为 2020 年 11 月 24 日星期二 19:00:00 GMT-0500(东部标准时间) 而不是 GMT 日期时间 2020 年 11 月 25 日星期三12:00:00上午

我相信你缺少的只是一个toUTCString()

2020 年 11 月 24 日星期二 19:00:00 GMT-0500(东部标准时间)11 月 25 日星期三的纪元时间戳相同, 2020 12:00:00 格林威治标准时间上午

click: (event) => {
   console.log(moment.utc(event.point.category).toDate().toUTCString());
}

要保留为 Date 对象,请使用 moment.utc().format()

您应该获取客户端的 (UTC) 偏移量(以分钟为单位)以更正时间

click: (event) => {
  const offset = new Date().getTimezoneOffset(); 
  const targetTime = moment.utc(event.point.category).toDate();
  const offsetTime = new Date(targetTime.getTime() + offset * 60 * 1000);
  console.log(offsetTime);
}
    

你可以这样试试,

click: (event) => {
   console.log(moment(moment.utc(event.point.category).toISOString()).utc());
}