我有这样的代码:
const date = moment(person.indefiniteContractDate
.toISOString()
.substring(2),
'YY-MM-DD');
if (date.isAfter('2020-08-15'))我想要今年,但总是在08-15,我怎么能做到呢?
发布于 2021-07-20 20:41:49
你可以通过moment('08-15','MM-DD')
这将给你带来今年的08-15。
所以我觉得你的代码
const date = moment(person.indefiniteContractDate
.toISOString()
.substring(2),
'YY-MM-DD');
const compareDate = moment('08-15','MM-DD');
if (date.isAfter(compareDate))发布于 2021-07-20 20:41:34
moment函数能够接受Date。打给moment(person.indefiniteContractDate)就行了。如果需要将小时/分钟/秒设置为零,则在传入Date对象后执行。有一个名为startOf的函数可以处理将一天的时间设置为零的问题。
注意:瞬间是EOL (生命的终结),您应该使用鲁迅代替。
// IF
{
const person = { indefiniteContractDate: new Date() }
// https://stackoverflow.com/a/19699447/1762224
const date = moment(person.indefiniteContractDate).startOf('day');
if (date.isAfter('2020-08-15')) {
console.log('AFTER!');
}
}
// ELSE
{
const person = { indefiniteContractDate: new Date(2020, 7, 13) }
const date = moment(person.indefiniteContractDate).startOf('day');
if (date.isAfter('2020-08-15')) {
console.log('AFTER!');
} else {
console.log('BEFORE!'); // <-- Here
}
}<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
https://stackoverflow.com/questions/68460738
复制相似问题