javascript计算两个日期差的函数代码

<script language="javascript">
    //以下获取当前日期 yyyy-mm-dd
    function curDateTime() {
        var d = new Date();
        var year = d.getFullYear();
        var month = d.getMonth() + 1;
        var date = d.getDate();
        var day = d.getDay();
        var ms = d.getMilliseconds();
        var curDateTime = year;
        if (month > 9)
            curDateTime = curDateTime + "-" + month;
        else
            curDateTime = curDateTime + "-0" + month;
        if (date > 9)
            curDateTime = curDateTime + "-" + date;
        else
            curDateTime = curDateTime + "-0" + date;
        return curDateTime;
    }
    //求两个日期的天数差 日期格式为 YYYY-MM-dd
    function daysBetween(DateOne, DateTwo){
        var OneMonth = DateOne.substring(5, DateOne.lastIndexOf('-'));
        var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf('-') + 1);
        var OneYear = DateOne.substring(0, DateOne.indexOf('-'));
        var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf('-'));
        var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf('-') + 1);
        var TwoYear = DateTwo.substring(0, DateTwo.indexOf('-'));
        var cha = ((Date.parse(OneMonth + '/' + OneDay + '/' + OneYear) - Date.parse(TwoMonth + '/' + TwoDay + '/' + TwoYear)) / 86400000);
        return Math.abs(cha); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;
    }
    document.write(daysBetween(curDateTime(), '2010-11-17')); //输出日期差
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Layui中没有专门计算两个具体时间函数,但是可以使用JavaScript自带的Date对象来计算时间。以下是一个示例代码: ```javascript // 计算时间函数 function dateDiff(startTime, endTime, diffType) { // 将开始时间和结束时间转换为时间戳 var sTime = new Date(startTime).getTime(); var eTime = new Date(endTime).getTime(); // 时间(单位:毫秒) var diff = eTime - sTime; // 计算对应的时间单位 if (diffType == 'second') { return parseInt(diff / 1000); } else if (diffType == 'minute') { return parseInt(diff / 1000 / 60); } else if (diffType == 'hour') { return parseInt(diff / 1000 / 3600); } else if (diffType == 'day') { return parseInt(diff / 1000 / 3600 / 24); } else { return diff; } } // 调用函数计算时间(示例) var startTime = '2022-01-01 00:00:00'; var endTime = '2022-01-02 12:00:00'; var diffType = 'hour'; var diff = dateDiff(startTime, endTime, diffType); console.log(diff); ``` 在上面的代码中,我们定义了一个`dateDiff`函数计算时间,其中`startTime`和`endTime`是要计算两个具体时间,`diffType`是要计算的时间单位(可选值:`second`、`minute`、`hour`、`day`,默认为毫秒),函数返回的是计算出来的时间值。我们在函数外部调用该函数并传入相应的参数来计算时间。 ### 回答2: 在layui中计算两个具体时间的函数,可以使用laydate模块的parse和unix对具体时间进行解析和转化,然后通过算术运算得出时间。 首先,使用laydate的parse方法将具体时间字符串解析为日期对象,例如: var date1 = laydate.parse('2021-01-01 12:00:00', 'YYYY-MM-DD HH:mm:ss'); var date2 = laydate.parse('2021-01-02 12:00:00', 'YYYY-MM-DD HH:mm:ss'); 然后,使用日期对象的getTime方法将日期转换为毫秒数,即: var time1 = date1.getTime(); var time2 = date2.getTime(); 接着,通过算术运算计算时间,将两个时间的毫秒数相减,得到毫秒级的值。 var diff = time2 - time1; 最后,可以根据具体的需求,将时间转换为天数、小时数、分钟数等格式: var diffDays = Math.floor(diff / (24 * 3600 * 1000)); // 天数 var diffHours = Math.floor(diff / (3600 * 1000)); // 小时数 var diffMinutes = Math.floor(diff / (60 * 1000)); // 分钟数 这样,我们就可以使用layui中的计算两个具体时间的函数,得出两个时间之间的值,并根据需要将其转换为不同的时间单位格式。 ### 回答3: 在Layui中,可以使用laydate组件来计算两个具体时间的值。具体的做法如下: 1. 首先,引入Layui的laydate模块: ``` <script src="layui/layui.js"></script> ``` 2. 定义两个输入框,用于选择具体的开始时间和结束时间: ``` <input type="text" id="start-time" placeholder="请选择开始时间"> <input type="text" id="end-time" placeholder="请选择结束时间"> ``` 3. 绑定laydate组件到输入框上,并选择对应的日期时间格式: ``` layui.use('laydate', function(){ var laydate = layui.laydate; laydate.render({ elem: '#start-time', format: 'yyyy-MM-dd HH:mm:ss' }); laydate.render({ elem: '#end-time', format: 'yyyy-MM-dd HH:mm:ss' }); }); ``` 4. 添加一个按钮,用于触发计算值的函数: ``` <button onclick="calculateTime()">计算时间</button> ``` 5. 编写calculateTime函数,用于计算开始时间和结束时间的值: ``` function calculateTime() { var startTime = layui.laydate.parse($('#start-time').val(), {format: 'yyyy-MM-dd HH:mm:ss'}).getTime(); var endTime = layui.laydate.parse($('#end-time').val(), {format: 'yyyy-MM-dd HH:mm:ss'}).getTime(); var diff = endTime - startTime; var diffSeconds = diff / 1000; // 进行值的计算和格式化输出 var days = Math.floor(diffSeconds / (60 * 60 * 24)); var hours = Math.floor((diffSeconds % (60 * 60 * 24)) / (60 * 60)); var minutes = Math.floor((diffSeconds % (60 * 60)) / 60); var seconds = Math.floor(diffSeconds % 60); console.log("相" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒"); } ``` 以上就是使用Layui中laydate组件计算两个具体时间的值的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值