如何将特定时区的日期转换为 utc

How to convert a date in specific timezone to utc

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

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

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

尝试:

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

您可以使用 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>