javascript - 计算两个 Jquery 日期选择器之间的周数

标签 javascript jquery

我的代码大部分都有效。但偶尔它会给我非常奇数的十进制数。我认为这与 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);

最佳答案

作为从头开始计算日期的替代方法,为什么不使用像 moment.js 这样的库呢?它为我们完成了所有艰苦的工作:

  var totalWeeks = moment(end).diff(moment(start), 'weeks');

jsFiddle Demo

关于javascript - 计算两个 Jquery 日期选择器之间的周数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659822/

相关文章:

javascript - Chrome(webkit?)无法在幻灯片中正确显示图像

javascript - Bootstrap Modal 在页面加载时触发,每个用户一次

javascript - 使用 chart.js v2 删除图表上的图例

javascript - 触发输入变化

javascript - jQuery UI Sortable 不序列化/toArray 子元素

javascript - 在视口(viewport)外加载图像?

javascript - 在 Backbone 中捕获滚动事件

javascript - 使用ajax加载wav文件

javascript - 将字符串解析为 DOM,ng-click 不起作用

javascript - 我怎么能有位置 :fixed after a scroll event?