javascript - 计算整数值的日期差异

标签 javascript jquery

我有两个日期字段,ID 分别为 gp_vdate_from 和 gp_vdate_to。我有一个隐藏的 div,它由动态表填充。输入日期字段后单击按钮即可看到 div。我做了这样的事情来计算日期差异

function parseDate(str) {
var mdy = str.split('-')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}

function daydiff(first, second) {
return Math.floor((second-first)/(1000*60*60*24))
}

var diff=(daydiff(parseDate($('#gp_vdate_from').val()), parseDate($('#gp_vdate_to').val())));

输入的日期格式为 10-2-2012。 但我无法给予以获得差价?有人能指出原因吗?

最佳答案

我认为您没有有效的日期。看这一行:

new Date(mdy[2], mdy[0]-1, mdy[1])

这就像写作

new Date(2012,9,'feb')

2012 年 2 月 10 日,无效。 The date constructor takes arguments like this:

new Date(year, month, day [, hour, minute, second, millisecond ]);

所有参数都是整数(“feb”无效,而且您以错误的顺序传递参数。)

所以我认为您需要查看您的 parseDate 方法。

这一切都假设 JQuery 不会改变 Date 对象的工作方式 - 您可能需要检查这一点。

您应该使用 JavaScript 控制台(例如 Firebug for firefox)来帮助您进行调试。

关于javascript - 计算整数值的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9275094/

相关文章:

javascript - Fancybox href 带有来自数据库的动态链接 (asp.net)

javascript - PhantomJs 保存谷歌图表 API GeoChart 的 png 图像

javascript - 通过 Google Cloud Storage JSON API 插入对象时公开共享

javascript - Facebook Pixel 将页面加载时间减慢了近一整秒

jquery - 引用 google 的 JQuery 库安全吗?

jquery - .each() 集合中的最后一个元素

javascript - Angular Http 发布到 .Net Core

javascript - Highcharts ,按钮文本未定义

javascript - 如何使 Foundation 5 顶部栏(导航栏)元素使用所有可用空间

javascript - 根据 li JQuery 中输入元素的值删除元素 li