将日期与 JavaScript asp.net MVC 进行比较

comparing dates with javascript asp.net mvc

本文关键字:MVC 比较 net asp 日期 JavaScript      更新时间:2023-09-26

我开始使用JavaScript,我的情况对我来说似乎真的很复杂!我正在尝试将今天的日期与"DateFinReele"日期进行比较我的"日期FinReele"日期比今天的日期小我对"DateDebut","DateFinPrevue"和"DateFinReele"有另一个控件"DateFinPrevue"和"DateFinReele"必须小于"DateDebut"当我删除我的函数 checkDateInpuWithTodays() 时,另一个控件运行良好,但当我添加它时没有任何工作(甚至另一个控件!!)

script >
  $(document).ready(function() {
    function DateDebutChange() {
      var DateDebutDate = DateDebut.value(),
        DateFinPrevueDate = DateFinPrevue.value(),
        DateFinReeleDate = DateFinReele.value();
      if (DateDebutDate) {
        DateDebutDate = new Date(DateDebutDate);
        DateDebutDate.setDate(DateDebutDate.getDate());
        DateFinPrevue.min(DateDebutDate);
        DateFinReele.min(DateDebutDate);
      } else if (DateFinPrevueDate) {
        DateDebut.max(new Date(DateFinPrevueDate)); <
      } else if (DateFinReeleDate) {
        DateDebut.max(new Date(DateFinReeleDate));
      } else {
        DateFinPrevueDate = new Date();
        DateFinReeleDate = new Date();
        DateDebut.max(DateFinPrevueDate);
        DateFinPrevue.min(DateFinPrevueDate);
      }
    }
    function DateFinReeleChange() {
      var DateFinReeleDate = DateFinReele.value(),
        DateDebutDate = DateDebut.value(),
        DateFinPrevueDate = DateFinPrevue.value();
      if (DateFinReeleDate) {
        DateFinReeleDate = new Date(DateFinReeleDate),
          DateFinPrevueDate = DateFinPrevue.value(),
          DateDebutDate = DateDebut.value();
      } else if (DateDebutDate) {
        DateFinPrevue.min(new Date(DateDebutDate)),
          DateFinReele.min(new Date(DateDebutDate));
      } else {
        DateFinPrevueDate = new Date();
        DateDebut.max(DateFinPrevueDate)
        DateDebut.max(DateFinReeleDate)
        DateFinPrevue.min(DateFinPrevueDate);
        DateFinReele.min(DateFinReeleDate)
      }
    }
    function DateFinPrevueChange() {
      var DateFinPrevueDate = DateFinPrevue.value(),
        DateDebutDate = DateDebut.value();
      if (DateFinPrevueDate) {
        DateFinPrevueDate = new Date(DateFinPrevueDate);
        DateFinPrevueDate.setDate(DateFinPrevueDate.getDate());
        DateDebut.max(DateFinPrevueDate);
      } else if (DateDebutDate) {
        DateFinPrevue.min(new Date(DateDebutDate));
      } else {
        DateFinPrevueDate = new Date();
        DateDebut.max(DateFinPrevueDate)
        DateFinPrevue.min(DateFinPrevueDate);
      }
    }
    function checkDateInpuWithTodays() {
      var x = new Date();
      var DateFinReeleDate = DateFinReele.value();
      if (DateFinReeleDate.value > x.valueOf()) {
        alert("La date de fin du projet doit être inférieure à celle d'aujourd'hui !")
        DateFinReele.value = null;
        DateFinReele.ready;
      }
    }
    var DateDebut = $("#DateDebut").kendoDatePicker({
      change: DateDebutChange
    }).data("kendoDatePicker");
    var DateFinPrevue = $("#DateFinPrevue").kendoDatePicker({
      change: DateFinPrevueChange
    }).data("kendoDatePicker");
    var DateFinReele = $("#DateFinReele").kendoDatePicker({
      change: DateFinReeleChange
    }).data("kendoDatePicker");
    DateDebut.max(DateFinPrevue.value());
    DateFinPrevue.min(DateDebut.value());
    DateFinReele.min(DateDebut.value());
    var DateFinReele = $("DateFinReele").kendoDatePicker({
      change: checkDateInpuWithTodays
    }).data("kendoDatePicker");
    DateFinReele.max(new Date().valueOf());
  }); < /script>

谁能帮我

实际上,只需使用普通运算符即可非常轻松地比较JavaScript日期。

每个 Date 对象实际上只是自 1970 年 1 月 1 日以来毫秒数的表示形式。您可以使用 getTime 方法查看日期的时间值。

var april212016 = new Date('2016-04-21');
console.log(april212016.getTime()); // 1461196800000
var wayWayBack = new Date('1970-01-01');
console.log(wayWayBack.getTime()); // 0
因此,在比较

日期时,在幕后它只是比较这些数字:

var d1 = new Date('2016-03-01');
var d2 = new Date('2016-01-01');
console.log(d1 > d2); // true
console.log(d2 < d1); // true
console.log(d1 == d2); // false

okeyyy ! 感谢大家的帮助和时间!我终于解决了剑道验证器的问题

我刚刚更改了此代码

var DateFinReele = $("#DateFinReele").kendoDatePicker({
  change: DateFinReeleChange,
  max: new Date()
}).data("kendoDatePicker");