【问题标题】:Validating two date, one date should be greater than other in Javascript验证两个日期,一个日期应该大于 Javascript 中的另一个日期
【发布时间】:2016-09-15 08:06:14
【问题描述】:

我有这两个日期,我是通过 javascript 输入字段获得的

var Date1 = document.nocAddition.Date1.value;
var Date2 = document.nocAddition.Date2.value;

我正在尝试验证日期 1 应始终大于日期 2,并且我正在编写以下代码:

var dateA = new Date(Date1);
var dateB = new Date(Date2);
if(Date.parse(dateA) < Date.parse(dateB)){
   alert('start is less than End');
   return false;
} else {
   alert('end is less than start');
   return false;
}

但它与循环中的条件不匹配,并且总是在 else 之后发出警报。 有什么新方法可以通过 Javascript 比较两个日期吗?请帮忙。

【问题讨论】:

标签: javascript jquery validation date


【解决方案1】:

很简单:

if(new Date(fit_start_time) <= new Date(fit_end_time))
{//compare end <=, not >=
    //your code here
}

比较 2 个 Date 实例就可以了。它只会隐式调用 valueOf,将 Date 实例强制为整数,可以使用所有比较运算符进行比较。好吧,100% 准确:Date 实例将被强制转换为 Number 类型,因为 JS 不知道整数或浮点数,它们都是有符号的 64 位 IEEE 754 双精度浮点数。

【讨论】:

    【解决方案2】:
    function compareDate(date1,date2){
        date1 = date1.split("-").reverse().join("-"); //formating 
        date2 = date2.split("-").reverse().join("-"); //formating 
        var oneDay = 24 * 60 * 60 * 1000;    
        var firstDate = new Date(date1);
        var secondDate = new Date(date2);
        return (Math.round((secondDate.getTime() - firstDate.getTime()) / (oneDay)) > 0);
    }
    

    例子

    // compareDate('2016-09-15','2016-09-17');
    

    作为甲酸盐

    compareDate('15-11-2016','17-11-2015');
    

    【讨论】:

      猜你喜欢
      • 2015-11-17
      • 2012-05-26
      • 2014-10-12
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2022-01-18
      • 2013-06-24
      • 1970-01-01
      相关资源
      最近更新 更多