【问题标题】:How to convert a date in specific timezone to utc如何将特定时区的日期转换为UTC
【发布时间】:2021-11-19 10:39:45
【问题描述】:

我有一个日期字符串 '2021-09-27 07:43' 我也有日期在 (GMT-8:00) 阿拉斯加时区的信息。我在不同的本地时区。当我将此日期转换为 UTC 时,它将我的时区作为参考时区。

const str = new Date().toLocaleString('en-US', { timeZone: 'Etc/GMT' });

如何以特定时区为参考而不是我的当地时间?

【问题讨论】:

  • new Date('2021-09-27 07:43 GMT-8') 工作

标签: javascript timezone date-formatting timezone-offset


【解决方案1】:

您可以使用 moment.js 对其进行转换。 见例子:

var input = '2021-09-27 07:43';
var fmt   = 'YYYY-MM-DD HH:mm';  // must match the input
var zone  = 'Etc/GMT';

var m = moment.tz(input, fmt, zone);

m.utc();

var s = m.format(fmt)  // result:
console.log(s);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data-2010-2020.min.js"></script>

【讨论】:

    【解决方案2】:

    试试:

    let myDate = "2021-09-27 07:43";
    let myDateUTC = new Date(myDate + " UTC-8"); // 2021-09-27T15:43:00.000Z
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-21
      • 2021-07-03
      • 2015-04-15
      • 2019-09-07
      • 2022-12-17
      • 2020-06-11
      相关资源
      最近更新 更多