【问题标题】:Datepicker diff between two dates failing两个日期之间的日期选择器差异失败
【发布时间】:2013-10-10 07:31:52
【问题描述】:

我,试图获取 jquery ui datepicker 插件生成的两个日期之间的差异(以天为单位),这就是我正在尝试的方式(基于this acepted answer

var sDate = $('.start input').datepicker('getDate');
var nDate = $('.end input').datepicker('getDate');

console.log(sDate); /* Logs Date {Wed Oct 16 2013 00:00:00 GMT+0200 (CEST)} */
console.log(nDate); /* Logs Date {Fri Oct 18 2013 00:00:00 GMT+0200 (CEST)} */

var dias = (nDate - sDate)/1000/60/60/24;

console.log(dias); /* Logs 30 */

问题是我选择了两个相差 2 天的日期,这是记录 30,

我在这里错过了什么?

【问题讨论】:

  • 你能得到sDate.getTime()nDate.getTime() 来检查到底发生了什么吗?
  • 已经尝试过.. 然后它只返回 16 和 18,我在这里看到的问题是它们的月份不同
  • 1618 似乎是 Date.getDate() 的输出。我问的是Date.getTime(),应该是1381391208156这样的大数字。

标签: javascript jquery date datepicker


【解决方案1】:

工作演示 http://jsfiddle.net/xUKnX/

另请看我的一个旧回复:How to add/subtract dates with javascript?

下面应该满足你的需要:)

代码

$('.start,.end').datepicker();

$('.hulk').click(function () {
    var sDate = $('.start').val();
    var nDate = $('.end').val();

    console.log(sDate); /* Logs Date {Wed Oct 16 2013 00:00:00 GMT+0200 (CEST)} */
    console.log(nDate); /* Logs Date {Wed Oct 18 2013 00:00:00 GMT+0200 (CEST)} */
    var startdate = new Date(sDate);

    var enddate = new Date(nDate);

    enddate.setDate(enddate.getDate() - startdate.getDate() -1);
    alert(enddate.getDay());
});

工作版本的屏幕截图

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 2014-04-07
    • 2014-02-12
    相关资源
    最近更新 更多