javascript - Moment isBetween(hours) 给出了意想不到的结果
问题描述
我正在尝试获取给定日期是否介于日期(下午和上午)之间。
示例输入:
moment('22:00', 'HH:mm').isBetween(moment('17:00', 'HH:mm'),moment('01:00', 'HH:mm'));
我期望输出是真的,但它是假的。如果我只使用下午时间或只使用上午时间,它工作得很好。
也尝试过这种格式,但结果是一样的
moment('17:00 PM', 'HH:mm A')
解决方案
这是一个快速而肮脏的实现,但如果您接受 HH:mm 中总会有时间传递,它就可以工作:
let time1 = '17:00';
let time2 = '1:00';
function isBetweenTime(timeToEvaluate, startTime, endTime){
let momentTimeToEvaluate = moment(timeToEvaluate, "HH:mm");
let momentStartTime = moment(startTime, "HH:mm");
let momentEndTime = moment(endTime, "HH:mm");
if(startTime > endTime){
momentEndTime.add(1, 'days');
}
return momentTimeToEvaluate.isBetween(momentStartTime, momentEndTime);
}
console.log(isBetweenTime('22:00', time1, time2));
console.log(isBetweenTime('22:00', time2, time1));
推荐阅读
- typo3 - Typo3 实例异常
- azure-data-factory - Azure 数据工厂:将数据从查找复制到 Blob
- scala - HBase 多个 PrefixFilters + setLimit
- r - 如何在数据框的每一行中仅保留唯一值
- matlab - 如何使用 Jenkins 正确生成 html 报告?
- tinkerpop - TinkerPop:添加 Vertex Graph API v/s Traversal API
- soap - 联邦快递递送日期
- docker - 如果图像已更改,用于构建 Docker 映像和重新创建 Docker 容器的 Ansible 工作流程?
- react-native - 当应用程序在后台或在本机反应中被杀死时,是否可以检查用户的移动活动?
- python - 在apache中将python flask文件夹配置为WSGI守护进程