js关于时间(date)的比较

  之前在工作上遇到一个问题:使用一些时间插件,如果有俩个时间,要判断结束时间和开始时间的大小?后来就查找了一些资料,这边整理出俩个比较简便的方法。

在这我拿 laydate.js 这个插件来举例:

  首先是 html 代码,我简单的写了俩个时间框:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>Document</title>
 9     <style>
10         * {
11             list-style: none
12         }
13     </style>
14 </head>
15
16 <body>
17     <ul>
18         <li>
19             <span>开始时间:</span>
20             <input type="text" id="startTime">
21         </li>
22         <li>
23             <span>结束时间:</span>
24             <input type="text" id="endTime">
25         </li>
26         <li>
27             <button id="btn1">确定</button>
28             <button id="btn2">点击</button>
29         </li>
30     </ul>
31 </body>

  接着引入 laydate.js,为俩个输入框绑定时间插件,接着我们看第一种比较的方法:

 1 <script src="./laydate/laydate.js"></script>
 2 <script>
 3         laydate.render({
 4             elem: "#startTime"
 5         });
 6         laydate.render({
 7             elem: "#endTime"
 8         });
 9
10         var btn1 = document.getElementById("btn1");
11         btn1.onclick = function() {
12                 var startTime = document.getElementById("startTime").value;
13                 var endTime = document.getElementById("endTime").value;
14
15                 if (startTime > endTime) {
16                     alert("开始日期不能大于结束日期");
17                 }
18             }
19 </script>

  这种比较方法是做了字符串的比较(因为此插件取到的时间格式是标准的时间格式,所以不用做其他操作)。

  第二种比较方式相对于第一种,比较容易理解一点:  

 1 <script src="./laydate/laydate.js"></script>
 2 <script>
 3         laydate.render({
 4             elem: "#startTime"
 5         });
 6         laydate.render({
 7             elem: "#endTime"
 8         });
 9
10         var btn2 = document.getElementById("btn2");
11
12         btn2.onclick = function() {
13             var startTime = document.getElementById("startTime").value;
14             var endTime = document.getElementById("endTime").value;
15
16             if (startTime.length > 0 && endTime.length > 0) {
17                 var startTmp = startTime.split("-");
18                 var endTmp = endTime.split("-");
19                 var sd = new Date(startTmp[0], startTmp[1], startTmp[2]);
20                 var ed = new Date(endTmp[0], endTmp[1], endTmp[2]);
21                 if (sd.getTime() > ed.getTime()) {
22                     alert("开始日期不能大于结束日期");
23                 }
24             }
25         }
26 </script>

  

原文地址:https://www.cnblogs.com/tg666/p/9258705.html

时间: 2024-08-03 15:54:28

js关于时间(date)的比较的相关文章

js 格式化时间/Date(1425027069000)/格式化为yyyy-MM-dd HH:mm:ss

//格式化时间[参数是一个字符串,格式类似于 /Date(1425027069000)/ ] function formatDate(n) { var s = n.slice(6, 21); dt = new Date(parseInt(n.slice(6, 21))); var year = dt.getFullYear();; var month = dt.getMonth() + 1; var date = dt.getDate(); var hour = dt.getHours(); v

关于JS的时间控制实现动态效果及实例操作

关于JS的时间控制 <script>        BOM   //Bowers Object Model   浏览器对象模型    setTimeout()//    延迟执行一次    setInterval()//    间隔执行    var a = 300;    window.setTimeout('abc(a)',3000);//    自定义函数赋值    function abc(i)    {        alert(i);    } //setInterval('ale

js 格式化时间日期函数小结

下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(

熟用js中的Date

js中的Date类型是使用UTC(国际协调时间)自1970年1月1日午夜(零时)开始,经过的毫秒数来保存日期. 1. 创建日期对象  ---> 获得当前日期和时间  var now = new Date(); --->基于制定的日期和时间创建  var date = new Date(year,month,day,hour,minute,second); 需要注意的就是,Date.prototype中的方法都是基于UTC时间的,所以这些方法中month(0-11).day(1-31).星期几(

原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间

原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

js -- 日期时间格式化

/** * js日期时间格式化 * @param date 时间读对象 * @param format 格式化字符串 例如:yyyy年MM月dd日 hh时mm分ss秒 * @returns {string} 返回格式化后的字符串 */function dateFormat (date, format) { var o = { "M+": date.getMonth() + 1, //month "d+": date.getDate(), //day "h+

原生js 当前时间 倒计时代码

源:https://www.oschina.net/code/snippet_2318153_54763 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>原生js 当前时间 倒计时代码</ti

js中关于date()的扩展

做前端往往会碰到后台传过来的date数据不是需求所需要的样式,后台往往传timestamp类型的,传过来的值为“Mar 30, 2016 10:00:36 AM”格式的,可是页面需要显示“年-月-日”或者“年.月.日”或者“年-月-日 时:分:秒”,需求不同,展示效果不同. 所以,碰到这种情况,就需要我们前端每次在js中转换,除了一些前端框架自带的format方法,(比如说miniUI),我们也可自己对date进行扩展,下面是总结的date数据的扩展,亲测,看代码: /* 关于时间类型的扩展 *

js反序列化时间

var time = "/Date(1279270720000+0800)/"; var tme1 = ChangeDateFormat(time); alert(tme1); JS方法为: function ChangeDateFormat(cellval) { var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", "&qu

js 获取时间对象代码

/** * 获取时间对象 */function getDateObj(addDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+addDayCount);//获取addDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth()+1;//获取当前月份的日期 var d = dd.getDate(); var h = dd.getHours(); var M = dd.get