gpt4 book ai didi

javascript - 如何将 UTC 小时 (HH) 更改为本地时间 (HH)

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

我们正在访问允许我们安排日期/时间的 API。我们需要检查预定的事情,这样我们就不会在同一时间重复预订。 API 返回的时间与军事中的 HH 一样。但是,它使用的是 UTC HH。因此,如果我们在下午 1 点安排某事,它会在 18 点回来。

我正在尝试使用 Moment.js 将 UTC 18 改回 CST(本地时间)。我失败得很厉害。

在下面的例子中,我从 API 得到 18,我下面的函数试图转换为本地时间(恰好是 CST)。但是该函数只是将其转换或保留为 18。帮助?

function changeTakenHoursFromUTC (taken) {
if(taken) {
for (var i = 0, len = taken.length; i < len; i++) {

// construct a moment object with UTC-based input
var utchour = taken[i].send_hour + ":00:00";
console.log( "Hour before change " + utchour);
var h = moment.utc(utchour);

// convert using the TZDB identifier for US Central time
h.tz('America/Chicago');
h.local();
console.log( "Hour before change " + h._i );
var s = h.format("HH");
taken[i].send_hour = s._i;
console.log( "Taken hour back in taken is " + taken[i].send_hour );

count += 1;

if(i == len-1 && count > 0) {
//
return;
}


} // end for
} // end IF

} // end changeTakenHoursFromUTC

最佳答案

您只是在 moment.utc(utchour, "HH")

中缺少格式字符串

我创建这个函数来作为示例提供帮助:

function changeTakenHoursFromUTC (taken) {
// construct a moment object with UTC-based input
console.log( "Hour before change " + taken);
var h = moment.utc(taken, "HH");
console.log(h.format("HH"));
h.local();
console.log( "Hour after change " + h.format("HH"));
}

changeTakenHoursFromUTC(18);

关于javascript - 如何将 UTC 小时 (HH) 更改为本地时间 (HH),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52415059/

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