jQuery:如何将输入内容转换为日期对象?

时间:2014-02-08 11:45:44

标签: javascript jquery date

我正在编写一个包含datepicker的应用程序。单击日期选择器中的日期时,日期将显示在输入字段中(type =“text”)。例如,如果您选择明天的日子,则会显示:

09.02.2014

因此您可以猜测格式为dd / mm / yyyy。

对于申请,我需要计算所选日期和当前日期之间的天数。我已经知道如何使用jQuery生成当前日期。但我不知道如何计算天数的时差。任何人都可以帮忙解决问题?

2 个答案:

答案 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) {
  ... 
 }