zoukankan      html  css  js  c++  java
  • 用JS计算时间差

    代码如下:

            function tbEndTime_OnBlur() {
                var stime = document.getElementById('<%= tbStartTime.ClientID %>').value.split("-");
                var etime = document.getElementById('<%= tbEndTime.ClientID %>').value.split("-");
                var st = new Date(stime[0], stime[1] - 1, stime[2]);
                var et = new Date(etime[0], etime[1] - 1, etime[2]);
                if (stime.length == 3 && etime.length == 3) {
                    var days = ((et - st) / (1000 * 60 * 60 * 24)) + 1;
                    if (days > 0) {
                        document.getElementById('<%= lbTotal.ClientID %>').innerText = days;
                    } else {
                        document.getElementById('<%= lbTotal.ClientID %>').innerText = "";
                    }
                } else {
                    document.getElementById('<%= lbTotal.ClientID %>').innerText = "";
                }
            }

    由于是在两个文本框中记录时间的,又不想在后台判断,所以我用的是onblur事件,总觉得不是太合适,但又没找到更好办法。

    在从stime转成st的时候,发现月份居然会加上一个月,比如我选择的是4月40号,转成st的时候就是变成5月30号,导致在计算跨月的时候的天数出错,所以只能在转换月份的时候减1,很奇怪的问题,希望知道的朋友告知一下。

  • 相关阅读:
    vue3.0配置代理proxy 解决跨域问题
    1/26 机器人未来待解决问题
    每日一诵
    2020/11/14 关于股票的价格
    2020/11/14 再思股票价值
    11/2 股票价值
    我们为什么会越来越笨
    关于追女朋友
    关于早睡早起
    vue学习心得
  • 原文地址:https://www.cnblogs.com/liuxiuming/p/3082812.html
Copyright © 2011-2022 走看看