首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MomentJS,动态年

MomentJS,动态年
EN

Stack Overflow用户
提问于 2021-07-20 20:05:21
回答 2查看 246关注 0票数 0

我有这样的代码:

代码语言:javascript
复制
const date = moment(person.indefiniteContractDate
  .toISOString()
  .substring(2),
  'YY-MM-DD');

if (date.isAfter('2020-08-15'))

我想要今年,但总是在08-15,我怎么能做到呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-20 20:41:49

你可以通过moment('08-15','MM-DD')

这将给你带来今年的08-15。

所以我觉得你的代码

代码语言:javascript
复制
const date = moment(person.indefiniteContractDate
  .toISOString()
  .substring(2),
  'YY-MM-DD');

const compareDate = moment('08-15','MM-DD');

if (date.isAfter(compareDate))
票数 0
EN

Stack Overflow用户

发布于 2021-07-20 20:41:34

moment函数能够接受Date。打给moment(person.indefiniteContractDate)就行了。如果需要将小时/分钟/秒设置为零,则在传入Date对象后执行。有一个名为startOf的函数可以处理将一天的时间设置为零的问题。

注意:瞬间是EOL (生命的终结),您应该使用鲁迅代替。

代码语言:javascript
复制
// 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
  }
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68460738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档