js中的时间对比

参数格式(yyyy-MM--dd)

var a = new Date("时间参数");

var b = new Date("时间参数");

if(a.getTime()<=b.getTime()){

alert("想要描述的文字!")

}

这样子就可以在js中直接用于比较两个时间的前后!

下面是自己用jcDate写的一个例子,仅供需要的人用!

首先标记两个时间点

$("#start").click(function(){
$("#timeStatue").val(0)
});
$("#end").click(function(){
$("#timeStatue").val(1)
});

因为插件只引用一次,所以需要对两个时间点分别定义

var Sy = $year.text()+"-",
Sm = $month.text()+"-",
Sd = $HiddenText.val();
NowDateArr = new Array(Sy,Sm,Sd);
dateInfo =NowDateArr.join(options.format);
if($hh.val() != "00" || $mm.val() != "00" ){
var Sh = $hh.val(),
Sm = $mm.val();
NowDateArr.push(Sh+":"+Sm);
printDate = NowDateArr.join(options.format).substring(),
format = printDate.split("/");
dateInfo = format[0]+options.format+format[1]+options.format+format[2]+" "+format[3]
};

获取指定格式的时间(yyyy-MM-dd)

当然其中的“-”也可分别换成“年”,“月”,“日”

var Sy1 = $year.text()+"年",
Sm1 = $month.text()+"月",
Sd1 = $HiddenText.val()+"日";
NowDateArr = new Array(Sy1,Sm1,Sd1);
dateInfo1 =NowDateArr.join(options.format);
if($hh.val() != "00" || $mm.val() != "00" ){
var Sh1 = $hh.val(),
Sm1 = $mm.val();
NowDateArr.push(Sh1+":"+Sm1);
printDate = NowDateArr.join(options.format).substring(),
format = printDate.split("/");
dateInfo1 = format[0]+options.format+format[1]+options.format+format[2]+" "+format[3]

最后是赋值

var data = $("#timeStatue").val();
var a1 =new Date($("#startTime").val());
var b1 =new Date($("#endTime").val());
if(data==0){
var d1= new Date(dateInfo);
if($("#startTime").val()!=""){
if($("#endTime").val()==""){
$("input.dateVisited").val(dateInfo1);
$("#startTime").val(dateInfo);
closeDate();
}else{
if(b1.getTime()<=d1.getTime()){
alert("开始日期不能大于或等于结束日期!");
closeDate();
}else{
$("input.dateVisited").val(dateInfo1);
$("#startTime").val(dateInfo);
closeDate();
}
}
}else{
if($("#endTime").val()==""){
$("input.dateVisited").val(dateInfo1);
$("#startTime").val(dateInfo);
closeDate();
}else{
if(b1.getTime()<=d1.getTime()){
alert("结束日期不能小于或等于开始日期!")
closeDate();
}else{
$("input.dateVisited").val(dateInfo1);
$("#startTime").val(dateInfo);
closeDate();
}
}
}
}
if(data==1){
var c1= new Date(dateInfo);
if($("#endTime").val()!=""){
if($("#startTime").val()==""){
$("input.dateVisited").val(dateInfo1);
$("#endTime").val(dateInfo);
closeDate();
}else{
if(a1.getTime()>=c1.getTime()){
alert("结束日期不能小于开始日期!")
closeDate();
}else{
$("input.dateVisited").val(dateInfo1);
$("#endTime").val(dateInfo);
closeDate();
}
}
}else{
if($("#startTime").val()==""){
$("input.dateVisited").val(dateInfo1);
$("#endTime").val(dateInfo);
closeDate();
}else{
if(a1.getTime()>=c1.getTime()){
alert("结束日期不能小于开始日期!")
closeDate();
}else{
$("input.dateVisited").val(dateInfo1);
$("#endTime").val(dateInfo);
closeDate();
}
}
}
}
};

主要的麻烦点就在最后的校验部分,因为jcDate本身只是添加时间,并没有相关的处理大小的方法,而且初始化的样式很丑,和date97样式类似,但要是css小白用起来还是有点问题的!

不过只要改一点点相关的样式,就可以看起来很高大上,开发的路上,勇往直前吧!

原文地址:https://www.cnblogs.com/duzjextjs/p/6102817.html