javascript - 检查日期是否在未来三个月内
问题描述
我总是返回 true:
const dateToCheck = '2020-02-18 11:46:04'
const isInNext3Months = (dateToCheck) => {
return moment().diff(dateToCheck, "days") < 30
}
不知道为什么
解决方案
const afterThreeMonths = '2020-05-18 11:46:04'
const beforeTreeMonths = '2020-02-18 11:46:04'
const isInNext3Months = (dateToCheck) => {
return moment().diff(dateToCheck, "days") > -90
}
console.log(isInNext3Months(afterThreeMonths)) // false
console.log(isInNext3Months(beforeTreeMonths)) // true
Diff 返回负值,因此您需要翻转比较,三个月是 90 天,而不是函数中指定的 30 天。
硬编码天数并不是正确的方法,因为你不知道下个月是 30 天还是 31 天。
你需要做这样的事情如何在 MomentJS 中获取上个月、过去三个月的天数列表,但要检查接下来的几个月。
推荐阅读
- python - 安装 Locustio(0.7.5) 软件包的问题
- colors - Terminal.app 颜色显示与转义序列不同
- c++ - 在 C++ 中通过函数删除对象
- c# - C#接口决定实现
- android - 如何从 ActivityMangerService 中的 Intent 获取 Parceable 数据?
- python - 正则表达式提取包含单词的句子
- android - 使用事件类包装器防止实时数据被多次触发时出现解析错误
- azure-ad-b2c-custom-policy - Azure B2C 从 IDP 获取手机号码
- python - 将 URL 与网页正确链接的问题
- angular - 构建Angular库时“不支持的私有类xy”