本篇文章主要是对 JS 日期比较大小的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
1,比较日期大小的 js 代码
- <script>
- var beginDate=$("#beginDate").val();
- var endDate=$("#endDate").val();
- var d1 = new Date(beginDate.replace(/\-/g, "\/"));
- var d2 = new Date(endDate.replace(/\-/g, "\/"));
- if(beginDate!=""&&endDate!=""&&d1 >=d2)
- {
- alert("开始时间不能大于结束时间!");
- return false;
- }
- </script>
- <html>
- <head>
- <title>
- calendar-比较时间和日期大小-www.phperz.com
- </title>
- <script type="text/javascript" src="CalendarFramework.js">
- </script>
- </head>
- <body>
- 开始时间:
- <input onfocus="setday(this)" id="startTime" name="startTime">
- 到 结束时间:
- <input onfocus="setday(this)" id="endTime" name="endTime">
- <input type="button" onclick="checkTime()" value="校验" />
- </body>
- <script type="text/javascript">
- checkTime = function() {
- var startTime = document.getElementById("startTime").value;
- var endTime = document.getElementById("endTime").value; compareCalendar(startTime, endTime);
- }
- //比较日前大小
- function compareDate(checkStartDate, checkEndDate) {
- var arys1 = new Array();
- var arys2 = new Array();
- if (checkStartDate != null && checkEndDate != null) { arys1 = checkStartDate.split('-');
- var sdate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]); arys2 = checkEndDate.split('-');
- var edate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]);
- if (sdate > edate) { alert("日期开始时间大于结束时间");
- return false;
- }
- else { alert("通过");
- return true;
- }
- }
- }
- //判断日期,时间大小
- function compareTime(startDate, endDate) {
- if (startDate.length > 0 && endDate.length > 0) {
- var startDateTemp = startDate.split(" ");
- var endDateTemp = endDate.split(" ");
- var arrStartDate = startDateTemp[0].split("-");
- var arrEndDate = endDateTemp[0].split("-");
- var arrStartTime = startDateTemp[1].split(":");
- var arrEndTime = endDateTemp[1].split(":");
- var allStartDate = new Date(arrStartDate[0], arrStartDate[1], arrStartDate[2], arrStartTime[0], arrStartTime[1], arrStartTime[2]);
- var allEndDate = new Date(arrEndDate[0], arrEndDate[1], arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2]);
- if (allStartDate.getTime() >= allEndDate.getTime()) { alert("startTime不能大于endTime,不能通过");
- return false;
- } else { alert("startTime小于endTime,所以通过了");
- return true;
- }
- } else { alert("时间不能为空");
- return false;
- }
- }
- //比较日期,时间大小
- function compareCalendar(startDate, endDate) {
- if (startDate.indexOf(" ") != -1 && endDate.indexOf(" ") != -1) { //包含时间,日期
- compareTime(startDate, endDate);
- } else { //不包含时间,只包含日期
- compareDate(startDate, endDate);
- }
- }
- </script>
- </html>
来源: