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

3

我有一个日期字符串 '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') 可以正常工作。 - Avinash Thakur
2个回答

2

尝试:

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

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>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接