javascript中的日期时间



我有一个代码脚本来计算今天和预期日期之间的天数:

let date1 = new Date(); //today
let date = new Date("04/19/2022") //expected day
let differenceInTime = date1.getTime() - date.getTime(); //difference by milliseconds
let differenceInDay = (differenceInTime - differenceInTime%(1000 * 3600 * 24))/(1000 * 3600 * 24); // JS does not supports dividing by whole so I implement this to get the number of days

对于所有情况,结果都是正确的,除了当我选择今天(明天)之后的一天作为预期的日子时,结果也是0。我的代码中是否有不准确的地方?

你的代码的问题是,在第4行你有点修复differenceInTime为0小数和期望的日子和今天之间的差异小于1天,所以它将被截断。


这样做更容易。使用数学方法或num.toFixed()你的代码会更简洁。

你甚至不需要date.getTime(),因为date会自动对其进行数学运算时转换为ms。

let date1 = new Date(); //today
let date = new Date("04/20/2022"); //expected day
let differenceInMS = date1 - date; //difference in ms
let differenceInDay = (differenceInMS / 8.64e7).toFixed(1); // 8.64e+7 : a day in ms
console.log(differenceInDay);

转换为毫秒,然后执行相同的逻辑

相关内容

  • 没有找到相关文章

最新更新