我目前正在努力比较2个日期(和时间):我的行动必须完成的日期限制和当前日期。
我以这种格式收到日期和时间:2017-05-29T15:30:17.983Z
。
然后我尝试使用此功能比较2个日期:
function checkExceedLimit (props) {
exceedLimit = 0;
props.items.map((item) => {
var dateLimit = moment(item.limit)
var now = moment()
if (item.limit != null || item != ' ' && now > dateLimit) {
exceedLimit++;
console.log(now)
console.log(dateLimit)
}
})
}
基本上我想比较每个项目的limit
,并在传递当前日期时将+1添加到beyondLimit。然而,即使并非所有限制都通过,它也会为每个限制返回+1。
感谢您的帮助
答案 0 :(得分:1)
答案 1 :(得分:1)
首先,你应该正确地创建你的时刻实例。
像这样:
moment("2017-05-29T15:30:17.983Z", 'YYYY-MM-DDTHH:mm:ss.SSSZ')
您可以查看此链接了解详情:https://momentjs.com/docs/#/parsing/string-format/
然后,您可以使用https://momentjs.com/docs/#/query/
上的时刻API方法来比较日期所以你的代码应该是这样的:
function checkExceedLimit (props) {
exceedLimit = 0;
props.items.map((item) => {
const dateLimit = moment(item.limit, 'YYYY-MM-DDTHH:mm:ss.SSSZ');
const now = moment()
if (dateLimit.isValid() && now.isAfter(dateLimit)) {
exceedLimit++;
console.log(now.toString())
console.log(dateLimit.toString())
}
})
}