js实现时间日期校验

(编辑:jimmy 日期: 2024/11/16 浏览:2)

本文实例为大家分享了js实现时间日期校验的具体代码,供大家参考,具体内容如下

1. 通用的时间校验方式

$.validator.addMethod("validatestart", function(value, element) {
  var start = new Date($('#startTime').val()).getTime();
  var end = new Date($('#endTime').val()).getTime();
  if(end < start){
   return false;
  }else{
   return true;
  }
 }, "开始时间必须小于结束时间!");

 $.validator.addMethod("validateend", function(value, element) {
  var start = new Date($('#startTime').val()).getTime();
  var end = new Date($('#endTime').val()).getTime();
  if(end < start){
   return false;
  }else{
   return true;
  }
 }, "结束时间必须大于开始时间!");

2. 如果用的laydate组件,也可以用以下的方法

var startTime = "";
var endTime = "";
 
 startTime = laydate.render({
  elem : '#startTime',
  type : 'datetime',
  trigger: 'click', //使触发方式为click,解决一闪而过的问题
  change: function(value, dates, edate){  //实现双击可选中
   $(".layui-laydate").find("td[class='layui-this']").dblclick(function(){
    $(".layui-laydate").remove();
    $("#startTime").val(value);
    endTimeControl(date);  //控制结束时间的最小值
   });
  },
  done : function(value, date){
   endTimeControl(date);
  }
 });

 endTime = laydate.render({
   elem : '#endTime',
   type : 'datetime',
   trigger: 'click', //使触发方式为click,解决一闪而过的问题
   change: function(value, dates, edate){  //实现双击可选中
    $(".layui-laydate").find("td[class='layui-this']").dblclick(function(){
     $(".layui-laydate").remove();
     $("#endTime").val(value);
     startTimeControl(date);
    });
   },
   done : function(value, date){
    startTimeControl(date);
   }
 });

 /** 结束时间控制 */
 function endTimeControl(date){
  endTime.config.min = {
   year: date.year,
   month: date.month - 1,
   date: date.date,
   hours: 0,
   minutes: 0,
   seconds: 0
  };
 };
 
 /** 开始时间控制 */
 function startTimeControl(date){
  startTime.config.max = {
   year: date.year,
   month: date.month - 1,
   date: date.date,
   hours: 0,
   minutes: 0,
   seconds: 0
  };
 };

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。