如何比较javascript中的时间?

时间:2012-01-12 12:04:11

标签: javascript asp.net validation

我想仅比较客户端的时间,意味着开始时间不应大于结束时间。我在网上搜索但无法解决此问题。请尽快帮助我。提前致谢。

4 个答案:

答案 0 :(得分:3)

你可以在javascript中比较日期 检查以下代码

var x=new Date();
x.setFullYear(2100,0,14);
var today = new Date();

if (x>today)
{
  alert("Today is before 14th January 2100");
}
else
{
  alert("Today is after 14th January 2100");
}

答案 1 :(得分:0)

您需要使用Date对象函数来提取小时分钟和秒来获取日期的时间:

var currentDate = new Date();
var hours = currentDate.getHours();
var minutes = currentDate.getMinutes();
var seconds = currentDate.getSeconds();

答案 2 :(得分:0)

使用DateJS,您可以使用以下方法compareTo

var past = Date.today().add(-6).days();
var future = Date.today().add(6).days();

Date.today().compareTo(future);                 // -1
Date.today().compareTo(new Date().clearTime()); // 0
Date.today().compareTo(past);                   // 1

如果你不想在这里使用整个库,那么是DateJS中静态compare方法的源代码

Date.compare = function (date1, date2) {
    if (isNaN(date1) || isNaN(date2)) { 
        throw new Error(date1 + " - " + date2); 
    } else if (date1 instanceof Date && date2 instanceof Date) {
        return (date1 < date2) ? -1 : (date1 > date2) ? 1 : 0;
    } else { 
        throw new TypeError(date1 + " - " + date2); 
    }
};

这将适用于时间以及假设两个日期(yyyy-MM-dd)相同

答案 3 :(得分:0)

例如,假设选择的时间为

var startTime = "09:15";
var endTime ="10:15";

if(parseInt(startTime.split(":")[0],10) > parseInt(endTime.split(":")[0],10))
alert("Start Time should not be greater than end time");
else
alert("Valid Time");

希望这有帮助。