gpt4 book ai didi

javascript - 使用 Moment.js 从数组获取当前工作类次

转载 作者:行者123 更新时间:2023-11-28 17:36:12 25 4
gpt4 key购买 nike

原问题

使用 Moment.js 获取过去最近的时间

不幸的是,最初的问题对于我的用例来说不够好。然而,M. Mennan Kara's answer完全回答了我原来的问题。所以你应该找出来。

可以在下面找到带有案例示例的改进问题。

现在时间为 04:00(使用 24 小时制)。我想将字符串 22:00:00 解析为 Moment.js 对象。

let parsed = moment('22:00:00', 'HH:mm:ss');

这就像一个魅力。该函数不太可能默认返回当天。所以,我的问题是:是否可以解析到最近的过去时间?

<小时/>改进的问题

使用 Moment.js 从数组获取当前工作类次

以下是一个关于它如何在我的项目中工作的示例。我在数组中有工作类次,并希望将当前类次保存在 currentShift 变量中。

let currentShift = null;

let shifts = [
{ name: 'early', start: '06:00:00', end: '14:00:00' },
{ name: 'late', start: '14:00:00', end: '22:00:00' },
{ name: 'night', start: '22:00:00', end: '06:00:00' }
];

shifts.forEach(item => {
let start = moment(item.start, 'HH:mm:ss');
if (moment(item.start, 'HH:mm:ss') <= moment()) {
currentShift = item;
}
});

最佳答案

如果您将解析的时间与当前时间进行比较,并删除一天(如果它晚于当前时间)怎么样,因为您正在寻找过去的最近时间。

let parsed = moment('22:00:00', 'HH:mm:ss');
if (parsed.isAfter(moment())) {
parsed.subtract(1, 'days');
}

https://jsfiddle.net/y40gvsmo/7/

关于javascript - 使用 Moment.js 从数组获取当前工作类次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49084082/

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