javascript - 我如何获得距离我的下一个生日还有多少天?

标签 javascript

我试过了,但是失败了

var diffDays1=(function(){ 
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var secondDate = new Date(new Date().getFullYear()+1,4,5);
var firstDate = new Date();
 return Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
})();

Wolfram alpha 说它是 330 天,diffDays1 显示它是 359。这可能是由于夏令时或其他原因。有没有一种方法可以在不在服务器端执行的情况下准确计算天数。

最佳答案

问题是您将四月作为 4 日的基础,而在 Javascript 中四月是 3 日。参见 https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date#Parameters

var diffDays1=(function(){ 
    var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
    var secondDate = new Date(new Date().getFullYear()+1,3,5);
    var firstDate = new Date();
    return Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
})();

关于javascript - 我如何获得距离我的下一个生日还有多少天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16484884/

相关文章:

javascript - Angular JS 如何使用 Protractor 获取中继器的所有行?

javascript - 使用 JavaScript 作为 HTML 属性值的语法

javascript - 当对带有 setTimeout 的变量调用clearTimeout 时会发生什么?

javascript - 为什么我的 Select 的 MenuProps 中的 PaperProps 中的样式不适用于选择

javascript - 通过数组名称进行 Firestore 查询

javascript - 将对象属性从一个数组映射到另一个数组

javascript - 您如何称呼混合传统/推送状态应用程序?

javascript - 指令范围内的函数不需要被触发

javascript - 如何取消 JavaScript 中的特定事件?

javascript - 测试一个字符串是否不等于一堆东西的更好方法是什么?