输入起始时间、结束时间,自动计算时间差,生成持续时间

起始时间不能晚于结束时间
结束时间不能早于开始时间

 <div class="layui-row masterMeter"><label class="textLabel">结束时间</label><div class="layui-col-xs12 selectInput"><input id="jssj" name="m:djmsqkjlb:jssj" class="layui-input textInput magicalcoder-laydate" type="text" placeholder="请选择日期" maxlength="0" format="yyyy-MM-dd HH:mm:ss" datetype="datetime" mc-attr-str-type="datetime" autocomplete="off"/></div></div><div class="layui-row masterMeter"><label class="textLabel">持续时间</label><div class="layui-col-xs12 selectInput"><input name="m:djmsqkjlb:cxsj" class="layui-input textInput" type="text" maxlength="50" placeholder="请输入持续时间" autocomplete="off"/></div></div><div class="layui-row masterMeter"><label class="textLabel">记录添加时间</label><div class="layui-col-xs12 selectInput"><input name="m:djmsqkjlb:jltjsj" class="layui-input textInput magicalcoder-laydate" type="text" value="2022/9/13" placeholder="请选择日期" maxlength="0" format="yyyy-MM-dd HH:mm:ss" datetype="datetime" mc-attr-str-type="datetime" autocomplete="off"/></div></div>
layui.use(['laydate', 'form'], function(){var laydate = layui.laydate;var d1 = '';var d2 = '';// 自动计算时间差function changeTime() {if (d1 && d2) {//开始时间//   var date1 = new Date(d1).getTime();  火狐浏览器46版本报NaN//   var date2 = new Date(d2).getTime();var date3 = d2 - d1;   //时间差的毫秒数//计算出相差天数var days = Math.floor(date3 / (24 * 3600 * 1000))//计算出小时数var leave1 = date3 % (24 * 3600 * 1000)    //计算天数后剩余的毫秒数var hours = Math.floor(leave1 / (3600 * 1000))//计算相差分钟数var leave2 = leave1 % (3600 * 1000)        //计算小时数后剩余的毫秒数var minutes = Math.floor(leave2 / (60 * 1000))//计算相差秒数var leave3 = leave2 % (60 * 1000)      //计算分钟数后剩余的毫秒数var seconds = Math.round(leave3 / 1000)//   console.log(days + "天 " + hours + "小时 " + minutes + "分钟 " + seconds + "秒");$('[name="m:djmsqkjlb:cxsj"]').val(days + "天 " + hours + "小时 " + minutes + "分钟 " + seconds + "秒");} else {$('[name="m:djmsqkjlb:cxsj"]').val("");}}var start = laydate.render({elem: '#qssj',type: 'datetime',done: function(value, date, endDate){if(value) {var start_date = new Date(date.year, date.month, date.date, date.hours, date.minutes, date.seconds);d1 = start_date.getTime();} else {  // 点击清空按钮触发清空d1 = '';}changeTime();end.config.min = date; //最大时间为结束时间的开始值end.config.min.month = date.month - 1;}});var end = laydate.render({elem: '#jssj',type: 'datetime',done: function(value, date, endDate){if(value) {var end_date = new Date(date.year, date.month, date.date, date.hours, date.minutes, date.seconds);d2 = end_date.getTime();} else {// 点击清空按钮触发清空d2 = '';}changeTime();start.config.max = date; //最小时间为开始时间的最大值 start.config.max.month = date.month - 1;}});
});

【laydate】layUI-laydate计算时间差相关推荐

  1. layUI laydate 时间选择器近一天、近一月、近三月、近一年

    参考其他博主代码的情况下进行改编 写入时间组件 <input type="text" class="layui-input" id="dateI ...

  2. layui 日期重置_日期时间插件--日期时间组件文档 - layui.laydate

    样式: /*这里我引的是我本地的js*/ layui.use('laydate', function () { var laydate = layui.laydate; var start = { / ...

  3. layui.laydate默认当前时间时分秒

    layui.laydate默认当前时间时分秒 代码如下 代码如下 //加载日期控件信息layui.use('laydate', function() {var laydate = layui.layd ...

  4. layui layDate时间控件绑定多个文本框组件

    layDate.js下载地址 多个输入框都是实现选择日期时间,通过class去循环遍历绑定时间控件. <div><input type="text" class= ...

  5. layui laydate 渲染失效问题,lay-key导致动态生成代码二次渲染失败

    在开发中因为需要动态生成时间选择框,所以选择了layui的 laydate控件,但是遇到了生成的时间选择框点击无效的问题,然后再次render 时间选择器一闪就消失了,查了多方资料,找到了如下的解决方 ...

  6. layui laydate 自定义mark

    layui laydate 自行定义mark 在日历上标注区别签到过和未签到过的,效果如图: 要写个日历的,最后选择了layui上面的laydate日期和时间组件,我的需求上面不需要选择日期啥的,和日 ...

  7. jQuery学习:日期控件 layui -laydate

    layDate - JS日期与时间组件/日历插件 (layuiweb.com) 下载文件 显示时间 <!DOCTYPE html> <html><head>< ...

  8. php获取laydate,解决laydate时间日期插件定位溢出

    laydate是一款比较好用的网页时间日期插件,不过用起来有一些细节问题需要我们手动去解决!例如:laydate兼容bootstrap 1. 默认情况 laydate弹出层默认对齐input左边框 2 ...

  9. R语言difftime函数计算时间差值实战

    R语言difftime函数计算时间差值实战 目录 R语言difftime函数计算时间差值实战 #基础语法 #获取difftime语法帮助

最新文章

  1. 多核处理器_AMD锐龙翻身!单核、多核CPU跑分均名列榜首
  2. TS流的解码过程-ES-PES-DTS-PTS-PCR
  3. 论文阅读:Deep Filter Banks for Texture Recognition and Segmentation
  4. 前端学习(2144):webpack中使用css的配置
  5. 前端学习(685):循环的目的
  6. 设置linux的console为串口【转】
  7. 在Windows 7上安装ACE 6.1.0
  8. 华为 ICT 助力智能车,钢铁侠小鹏隔空喊话,Car OS 年终大盘点
  9. android x86 精简版,逆天!Windows7终极纯净版x86,仅239MB | 殁漂遥
  10. 【mysql数据类型】uint和int的区别
  11. 打jar包和使用jar包
  12. 优化 RTD 温度传感系统:接线配置
  13. 第25节 虚拟专有网络原理及配置命令
  14. 小程序不刷新页面更新数据
  15. 微信小程序wx:key使用
  16. unity编辑器扩展--Inspector自定义编辑
  17. android4.3从app到kernel代码追踪gsensor所遇到的问题
  18. SpringBoot整合Swagger2教程
  19. 十几减9的口算题_一年级数学口算题:十几减9(可下载)
  20. pcb成孔与孔金属化技术

热门文章

  1. 购买的wemall 6.0商城系统源码分享
  2. 三星s6 android 5.1.1,三星S6 edge国行版本开始推送安卓5.1.1更新
  3. wsappx关不掉_wsappx是什么进程?wsappx占用cpu磁盘过高可以关闭吗?
  4. APP拉新项目公司产品项目介绍
  5. 三星note3怎样刷原生Android,三星note三可以刷原生android系统吗?
  6. 屌丝们捧红了手机域名
  7. 计算机应用专业需要6g显卡吗,Quadro专业作图显卡、i7处理器,设计师都想要的图形工作站配置推荐...
  8. Torque 3.0使用指南
  9. Java 开发之 根据坐标计算长度、角度、位置等数据
  10. Ubuntu 查看电池损耗