比较javascript中的时间和日期

时间:2011-11-18 18:51:24

标签: javascript function date time comparison

假设有两个文本框,一个用于输入日期,另一个用于及时输入。以下是一个例子:

<p><strong>Date:</strong> <input type="text" id="datetxt"></p>

Example of how date is displayed: 25-05-1995

<p><strong>Time:</strong> <input type="text" id="timetxt"></p>

Example of how time is displayed: 14:25

有人可以建议javascript中的方式来比较从文本框到当前日期和时间的日期和时间的值,所以如果当前日期和时间超过在文本框中输入的日期和时间,那么它应该显示和提醒?

2 个答案:

答案 0 :(得分:1)

试试这个

var dateParts = document.getElementById("datetxt").value.split("-");
var timeParts = document.getElementById("timetxt").value.split(":");

var valueDate = new Date(dateParts[2], (dateParts[1] - 1) ,dateParts[0], timeParts[0], timeParts[1]);

if( (new Date).getTime() > valueDate .getTime() )
{
   alert("passed");
}

实例:http://jsfiddle.net/TJEMr/

答案 1 :(得分:0)

您需要将日期字符串按到compatible日期格式:

    //datetxt textbox value, split on dashes
var date = "25-05-1995".split("-"), 
    //timetxt textbox value
    time = "14:25",
    //put it into format: YYYY-MM-DDThh:mm and creates a date object from it
    dateObj = new Date(date[2] + '-' + date[1] + '-' + date[0] + 'T' + time);

//if today is greater than we have passed that DateTime
if(new Date() > dateObj) {
    alert("After entered date");
} else {
    alert("Not passed yet!");
}

工作示例:jsFiddle