javascript - 如何获得直到 X 日期的天数并在 X 日期达到 0 时停止计数

标签 javascript reactjs date datetime

此代码已经获取到 x 日期的天数,但是当 x 日期达到相同日期时它会继续计数,我怎样才能将它归零以停止计数?

const counters = this.state.counters.map((counters, i) => {
  let untildate = counters.date
  let diffDays1=(function(){ 
    let oneDay = 24*60*60*1000 // hours*minutes*seconds*milliseconds
    let secondDate = new Date(untildate);
    let firstDate = new Date();
    return (`${Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)))} Days`)
  })();

如果输入日期是 2019-04-05T20:00:00.782Z 输出应该是 0

最佳答案

使用Math.max返回两个值中较大的一个。在您的例子中,您希望仅在该数字大于 0 时返回剩余天数,否则您希望返回 0:

const counters = this.state.counters.map((counters, i) => {
  let untildate = counters.date
  let diffDays1=(function(){ 
    let oneDay = 24*60*60*1000 // hours*minutes*seconds*milliseconds
    let secondDate = new Date(untildate);
    let firstDate = new Date();
    return (`${Math.max(0, Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay))))} Days`)
  })();

关于javascript - 如何获得直到 X 日期的天数并在 X 日期达到 0 时停止计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56118199/

相关文章:

javascript - AngularJS deferred.reject 不工作但 $q.reject 工作

javascript - 根据输入从数组索引值返回值

javascript - 为什么在使用解析的字符串时出现错误 'Cannot read property ' name' of null'?

javascript - 如何使react-window FixSizeList随着视口(viewport)而不是组件的滚动条滚动?

r - 将 DDMMYYYY 格式的字符串(无分隔符,三位数年份,省略千禧年)解析为 Date 类

r - 特定日期的子集数据框

javascript - jQuery Fancybox 触发器无法正常工作

javascript - 如何定义同名的函数和对象?

mysql - 如何在 MySQL 中将字符串转换为日期?

javascript - 如何使我的无限图像旋转器能够应用于许多旋转框