javascript - 如果他们不在同一天,如何处理两个不同的时间?
问题描述
我正在处理餐厅的营业时间和关闭时间,我正在使用时间来解析它并且它工作得很好但是有一种情况它不起作用,如果餐厅在上午 9:00 开门并在凌晨 1:00 关门(下一个天),它让餐厅无论何时都关闭。
if (current_time.isBetween(opening_hour, close_hour)) {
console.log('its open');
} else {
console.log('its closed');
}
解决方案
对于没有提及日期的通用解决方案,您还可以先测试 close_hour 是否在 opening_hour 之前,如果是这种情况,请使用isAfter(opening_hour) || isBefore(opening_hour)
:
注意:如果close_hour
不是 momentJs,第一行将是if (moment(close_hour, 'hh:mm').isAfter(opening_hour)) {
if (close_hour.isAfter(opening_hour)) {
if (current_time.isBetween(opening_hour, close_hour)) {
console.log('its open');
} else {
console.log('its closed');
}
} else {
if (current_time.isAfter(opening_hour) || current_time.isBefore(close_hour)) {
console.log('its open');
} else {
console.log('its closed');
}
}
推荐阅读
- java - 已跳过侦听器中的 Firebase 侦听器
- c - 出现段错误但不知道如何修复它
- python - 如何在项目和项目的依赖项之间指定不同的 pypi 源
- r - 如何使用 R 中的 MASS 库包修复“找不到对象”?
- laravel - Laravel - DELETE 方法不支持删除路由
- html - HTML 中的前置标记
- c - 函数未检测到 EOF
- php - 基于Keys的动态关联数组制作二进制Pairing数组,每个Key一个元素
- javascript - 在 React native 中旋转 1 个屏幕(ios 和 android)
- amazon-web-services - 如何在 ec2 元数据中查找安全组 ID?