这段代码已经获取到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/