javascript - JavaScript:有没有办法检测这种格式的给定日期在过去 X 天内?
问题描述
我有一堆像这样格式化的时间戳
const dates = ['2021.6.01', '2021.6.11', '2021.9.02']
我想编写一个工具,它可以告诉我具有这种格式的日期是否在另一个日期的最后 X 天内。
例如,2021.6.10
在 的最后 7 天之内,2021.6.12
而2021.6.01
在 的最后 7 天之内2021.6.12
。
我认为 API 接口会是,但请随时提出更好的命名
function isWithinTheLastDays(originalDate, date, days)
我发现手动实现真的很棘手,并且有很多边缘情况。
解决方案
Date
用构造函数解析日期,减去两个日期并将毫秒差转换为天(除以 86400000),然后检查它是否小于或等于days
:
function isWithinTheLastDays(originalDate, date, days){
return (new Date(date) - new Date(originalDate)) / 86400000 <= days;
}
console.log(isWithinTheLastDays('2021.6.10', '2021.6.12', 7)) //2 day diff
console.log(isWithinTheLastDays('2021.6.10', '2021.6.17', 7)) //7 day diff
console.log(isWithinTheLastDays('2021.6.10', '2021.6.18', 7)) //8 day diff
推荐阅读
- java - 受信任的 Web 活动无法启动活动 ComponentInfo 服务意图必须是明确的:意图
- unity3d - Unity:OnCollisionEnter 仅在新条目时触发,但不会在具有相同名称的不同对象上的新条目时触发
- azure - Azure 函数存储文件不会随函数一起删除
- scala - 在 Scala 匹配表达式中利用案例类的类型约束
- javascript - 使用deck.gl根据滑块输入更改图层属性
- azure - Azure Pipelines (DevOps):自定义耗材统计/指标
- python-3.x - 有没有关于在 python 中使用 .dat(音频文件不是视频)文件的参考?
- java - 从具有 Spring 和 JPA 注释的两个表之间具有外键关系的 html 表单(使用 Thymeleaf)保存数据的问题
- machine-learning - feature_contribs 和特征重要性的区别
- powershell - 比较两个重复的文本文件并将明显的差异写入文本文件