我正在编写一个包含datepicker的应用程序。单击日期选择器中的日期时,日期将显示在输入字段中(type =“text”)。例如,如果您选择明天的日子,则会显示:
09.02.2014
因此您可以猜测格式为dd / mm / yyyy。
对于申请,我需要计算所选日期和当前日期之间的天数。我已经知道如何使用jQuery生成当前日期。但我不知道如何计算天数的时差。任何人都可以帮忙解决问题?
答案 0 :(得分:1)
减去两个日期将以毫秒为单位返回,然后将其转换为天数:
function daydiff(first, second) {
return (second-first)/(1000*60*60*24)
}
alert(daydiff(date1, date2));
答案 1 :(得分:0)
H i,传统方法看起来像这样。
从点符号格式的日期值开始,我们可以转换为dd / mm / yyyy格式。
更新为评论,,因为日期字符串需要重新排序为MM / DD / YYYY
var inputval = "09.02.2014".split(".");
var dateval = new Date(inputval[1]+"/"+inputval[0]+"/"+inputval[2]);
/* with our Date object we can now compare */
var currDate = new Date();
var diffDays = Math.round(Math.abs((dateval.getTime() - currDate.getTime())/(24*60*60*1000)));
var diffdays =
快速日期比较摘录自:
How to calculate the number of days between two dates using JavaScript?
值得一提的是将所有这些添加到可重用性的功能中。
function daysDifferenceFromToday(datestr) {
var inputval = datestr.split(".");
var dateval = new Date(inputval[1]+"/"+inputval[0]+"/"+inputval[2]);
var currDate = new Date();
return Math.round(Math.abs((dateval.getTime() - currDate.getTime())/(24*60*60*1000)));
}
/* usages */
alert(daysDifferenceFromToday("09.02.2014"));
if(daysDifferenceFromToday("05.02.2014")>2) {
...
}