当前位置: 代码网 > it编程>编程语言>Javascript > js如何比较两个日期的时间大小简单代码示例

js如何比较两个日期的时间大小简单代码示例

2024年07月05日 Javascript 我要评论
介绍使用js比较两个日期的时间大小,一般在前台选择时间时常常使用。比如:结束时间不能小于开始时间,开始时间不能小于当前时间等。代码示例示例一:开始时间不能小于当前时间//开始时间var startti

介绍

使用js比较两个日期的时间大小,一般在前台选择时间时常常使用。比如:结束时间不能小于开始时间,开始时间不能小于当前时间等。

代码示例

示例一:开始时间不能小于当前时间

//开始时间
var starttime = '2024-04-22'
//当前时间
var currentdate = new date();
var currentdatestr = currentdate.getfullyear() + '-' + (currentdate.getmonth() + 1) + '-' + currentdate.getdate();
if (new date(currentdatestr).gettime() > new date(starttime).gettime()) {
	alert('开始时间不能小于当前时间')
}

示例二:结束时间不能小于开始时间

var starttime = '2024-04-22'
var endtime = '2024-04-21'
if (new date(starttime).gettime() > new date(endtime).gettime()) {
	alert('结束时间不能小于开始时间')
}

正式环境中时间的判断流程

首先判断开始、结束时间是否为空,不为空再判断结束时间是否小于开始时间

var starttime = $("#starttime").val()
var endtime = $("#endtime").val()
if(isempty(starttime)){
	initerror('生效时间不能为空',$('#starttime').next());
	flag = false;
}
if(isempty(endtime)){
	initerror('失效时间不能为空',$('#endtime').next());
	flag = false;
}
if(!isempty(starttime)&&!isempty(endtime)) {
	var currentdate = new date();
	var currentdatestr = currentdate.getfullyear() + '-' + (currentdate.getmonth() + 1) + '-' + currentdate.getdate();
	if (new date(currentdatestr).gettime() > new date(starttime).gettime()) {
		initerror('生效时间不能小于当前时间', $('#starttime').next());
		flag = false;
	}else{
		if (new date(starttime).gettime() > new date(endtime).gettime()) {
			initerror('生效时间不能大于失效时间', $('#starttime').next());
			flag = false;
		}
	}
}

附:js两个日期比较相差多少天实例

首先来分析一个问题,两个日期是什么格式的?假设是字符串格式:

可能是:2018/04/20,也可能是:2018/04/20 12:00:00

那接下来分情况讨论。

首先看看不含时间部分的日期格式计算:

var adate = new date('2018/04/23'); // 通过日期字符串,初始化第一个日期对象
var bdate = new date('2018/04/25'); // 同上,初始化第二个日期对象
var aday = 24 * 60 * 60 * 1000; // 完整一天有24小时,将小时换算成毫秒时间戳
var diffday = (bdate - adate) / aday; // 计算间隔天数(注意日期隐式转换)
console.log(diffday); // 2,23日-25日间隔2天

然后再来看看包含时间部分的日期格式计算:

var adate = new date('2018/04/23');
var bdate = new date('2018/04/25 12:00:00'); // 包含时间的日期字符串
var aday = 24 * 60 * 60 * 1000;
var diffday = (bdate - adate) / aday;
console.log(diffday); // 2.5,自然计算的结果
console.log(math.floor(diffday)); // 2,根据个人情况向下取整,整数天
console.log(math.ceil(diffday)); // 3,根据个人情况向上取整,整数天

总结 

到此这篇关于js如何比较两个日期的时间大小的文章就介绍到这了,更多相关js比较两个日期的时间大小内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com