zoukankan      html  css  js  c++  java
  • layui时间插件实现动态限制可选时间范围和统计时间间隔

    <script>
    layui.use('laydate', function() {
      var laydate = layui.laydate;
      var start = laydate.render({ //开始时间
        elem: '#startDate',
        type: 'datetime',
        format: 'yyyy-MM-dd HH:mm:ss',
        done: function(value, date) { //点击确定回调事件
          endMax = end.config.max;
          end.config.min = date;
          end.config.min.month = date.month - 1;
          timeOperation(value, $("#endDate").val())
        },
        change: function(value, date, endDate) { //点击改变回调事件
          var timestamp2 = Date.parse(new Date(value));
          timestamp2 = timestamp2 / 1000;
          end.config.min = timestamp2;
          end.config.min.month = date.month - 1;
        }
      });
      var end = laydate.render({ //结束时间
        elem: '#endDate',
        type: 'datetime',
        format: 'yyyy-MM-dd HH:mm:ss',
        done: function(value, date) { //点击确定回调事件
          if ($.trim(value) == '') {
            var curDate = new Date();
            date = {
              'date': curDate.getDate(),
              'month': curDate.getMonth() + 1,
              'year': curDate.getFullYear()
            };
          }
          start.config.max = date;
          start.config.max.month = date.month - 1;
          timeOperation($("#startDate").val(), value)
        }
      });
    });

    //统计时间间隔
    function timeOperation(startTimeStr, endTimeStr) {
      if (startTimeStr != "" && startTimeStr != null && endTimeStr != "" && endTimeStr != null) {
        //开始时间
        var startDate = new Date(startTimeStr.replace("-", "/").replace("-", "/"));
        //结束时间
        var endDate = new Date(endTimeStr.replace("-", "/").replace("-", "/"));
        if (endDate < startDate) {
          layer.msg("开始时间不能大于结束时间!")
          return false;
        }
        $("#timeSum").html((endDate.getTime() - startDate.getTime()) / 1000)
        console.log((endDate.getTime() - startDate.getTime()) / 1000 + "秒")
        console.log(parseInt((endDate.getTime() - startDate.getTime()) / 1000 / 60) + "分" + (endDate.getTime() - startDate.getTime()) /
          1000 % 60 + "秒")
        console.log(parseInt((endDate.getTime() - startDate.getTime()) / 1000 / 60 / 60) + "时" +
          parseInt((endDate.getTime() - startDate.getTime()) / 1000 / 60 % 60) + "分" +
          (endDate.getTime() - startDate.getTime()) / 1000 % 60 + "秒")
      }
    }
    </script>

  • 相关阅读:
    shell 脚本语法
    discuz pre_forum_postposition表说明
    PHP调试工具Xdebug安装配置教程
    检查用户头像状态的脚本
    PHP 性能监测
    Mysql 索引优化
    MySQL主从复制配置
    vue mixin 混入
    vue渲染方式:render和template的区别
    vue自定义指令directive Vue.directive() directives
  • 原文地址:https://www.cnblogs.com/LinTianwen/p/13086280.html
Copyright © 2011-2022 走看看