我想将具有特定时区的特定日期字符串转换为另一种格式的另一个时区。这是一个例子:
var date = '2020-04-09 17:10:57'; //Date in YYYY-MM-DD HH:MM:SS format
var timezone = 'America/New_York'; //Timezone of the given var date
现在我想将时区中的这个日期转换为另一个日期,例如我有:
var convert_to_timezone = 'Europe/Berlin';
我只知道如何获取当前用户的日期,但我不知道如何将具有该时区的日期准确转换为另一个日期。我也想尊重夏令时。
输出应该是:
//2020-04-09 23:10:57
预先感谢,您真的会帮助我找到答案,因为我尝试了 2 个小时但没有得到它:(
最佳答案
Luxon 是 Moment 的现代重写。如果您朝这个方向走,这里是工作代码:
var DateTime = luxon.DateTime;
var date = '2020-04-09 17:10:57';
var timezone = 'America/New_York';
var format = 'yyyy-MM-dd HH:mm:ss';
var luxonTime = DateTime.fromFormat(date, format, {zone: timezone});
var berlinTime = luxonTime.setZone('Europe/Berlin').toFormat(format);
console.log(berlinTime);
<script src="https://cdn.jsdelivr.net/npm/luxon@1.23.0/build/global/luxon.min.js"></script>
关于Luxon和Moment的区别:https://github.com/moment/luxon/blob/master/docs/why.md
关于javascript - 将 JS 中的日期从一个时区转换为另一个时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61111795/