我的代码大多数都可以工作..但偶尔会给我一些非常奇怪的十进制数。我认为这与UTC时间有关。有什么建议?
HTML
<h2> First Date</h2>
<input type="text" class="datepicker" id="startDate"/>
<h2> Second Date</h2>
<input type="text" class="datepicker" id="endDate"/>
<button type="button" id="test">Click It</button>
<p>Total Weeks</p>
<span id="totalWeeks">HERE</span>
JQuery的
'use strict';
(function ($) {
$(document).ready(function () {
$('#test').click(function () {
var end = $('#endDate').datepicker('getDate');
var start = $('#startDate').datepicker('getDate');
var $weekDiff = Math.ceil((end - start + 1) / (1000 * 60 * 60 * 24)) / 7;
$('#totalWeeks').append($weekDiff);
});
});
})(jQuery);
答案 0 :(得分:4)
作为从头开始进行日期算术的替代方法,为什么不使用像moment.js这样的库,它为我们完成了所有艰苦的工作:
var totalWeeks = moment(end).diff(moment(start), 'weeks');
答案 1 :(得分:1)
要获得两个日期之间的周数,您需要将7
除以floor
的结果舍入:
var $weekDiff = Math.floor((end - start + 1) / (1000 * 60 * 60 * 24) / 7);