【发布时间】:2018-04-08 10:49:28
【问题描述】:
我想获取设定日期和今天之间的天数。
当我动态获取今天的日期而不是硬编码时,我不明白为什么我总是得到错误的结果。
HTML
<span id="today1">xxx</span> days - wrong
<br>
<span id="today2">xxx</span> days - wrong
<br>
<span id="hardcoded">xxx</span> days - correct
JS
var startDate = new Date(2016,04,01).getTime();
var todayDate1 = new Date().getTime();
var todayDate2 = Date.now();
var hardcodedDate = new Date(2018,04,08).getTime();
$("#today1").html(Math.floor((todayDate1 - startDate)/8.64e7));
$("#today2").html(Math.floor((todayDate2 - startDate)/8.64e7));
$("#hardcoded").html(Math.floor((hardcodedDate - startDate)/8.64e7));
结果
707 days - wrong
707 days - wrong
737 days - correct
我错过了什么?
【问题讨论】:
-
你认为
new Date(2016,04,01)会给你什么日期?提示:从现在起大约一个月,而不是今天。编辑:不知道我为什么要害羞:月份数字从 0 = 一月开始。 -
(旁注:强烈建议不要在数字上使用前导
0s,尽管在现代 JavaScript 引擎中它不应该触发旧式八进制解析。) -
月份
4是五月。 -
谢谢大家。现已排序。
标签: javascript date