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