gpt4 book ai didi

javascript - 如何确定 iso 8601 时间是否在一小时范围内?

转载 作者:行者123 更新时间:2023-12-02 16:32:50 33 4
gpt4 key购买 nike

我正在制作一个 javascript 日历,并且试图查找 iso 8601 字符串是否落在一个小时范围内,但运气不佳。我有一系列的约会。每个约会都有一个 startTime,它是一个 iso 8601 字符串。然后,我尝试使用 moment 来比较字符串是否在特定的小时范围内。小时只是传入的一个 int,即 1, 2, 3, 4, ...。这是我的代码:

        function(appts, hour) {
var current = appts.forEach(function(appt) {
return moment(appt.startTime).isBetween(hour, hour + 1, 'hour');
});
return current;
}

我并不专注于使用时刻。完成这个任务的方法是什么?

最佳答案

如果 hour 是您指定的数字,那么您只需将 .hour() 与目标小时进行比较即可:

function(appts, hour) {
var current = appts.forEach(function(appt) {
return moment(appt.startTime).hour() == hour;
});
return current;
}

...假设您的小时从午夜0开始,一直持续到晚上11点的23,并假设您的小时 和日期时间字符串位于同一时区。如果不是,您将必须根据时区差异调整其中之一。如果您的小时采用 UTC,您只需调用 utc 即可轻松完成此操作。在 Moment 实例上:

function(appts, hour) {
var current = appts.forEach(function(appt) {
return moment(appt.startTime).utc().hour() == hour;
// Change -------------------^^^^^^
});
return current;
}

关于javascript - 如何确定 iso 8601 时间是否在一小时范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151558/

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