gpt4 book ai didi

javascript - 了解日期和时间到特定时区的转换

转载 作者:行者123 更新时间:2023-11-30 14:04:18 25 4
gpt4 key购买 nike

我在 api 响应中有一个日期和时间。我需要在用户时区中进行转换。

start_date_time

datetime: function (datetime) {
return moment(datetime, 'YYYY-MM-DD HH:mm:ss').tz(timeZone).format('MMM Do YYYY, h:mm a');
},

但是,start_date_time 与响应中的相同。只是格式变了。如果我换到另一个时区,它工作正常。我的时区是 "Asia/Kolkata"

我如何让 moment 知道这个日期和时间不属于“Asia/Kolkata”并且需要将其转换成相同的日期和时间?

最佳答案

如果 start_date_time 是 UTC 时间,那么您必须在其末尾添加一个 Z:

const start_date_time = "2019-04-20 02:00:00";
const timeZone = "Asia/Kolkata";
console.log(moment(start_date_time+"Z"));
console.log("Asia/Kolkata date: ", moment(start_date_time+"Z").tz(timeZone).format('MMM Do YYYY, h:mm a'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.min.js"></script>

否则,您必须先指定 start_date_time 的时区,然后才能将其转换为另一个时区:

const start_date_time = moment.tz("2019-04-20 02:00:00", "America/New_York");
console.log(start_date_time.format());

const timeZone = "Asia/Kolkata";
console.log("Asia/Kolkata date: ", start_date_time.tz(timeZone).format('MMM Do YYYY, h:mm a'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.min.js"></script>

关于javascript - 了解日期和时间到特定时区的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55745320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com