zoukankan      html  css  js  c++  java
  • 计算两个日期相差的天数

    文件名:  Bll.js

    * 文件功能描述: 计算两个日期天数差的函数,通用,根据指定的一个日期和相差的天数,获取另外一个日期
    * 作    者:  liangjw
    * 创建标示:  2013-06-20
    * 邮    箱: liangjw0504@163.com
    * 版权所有: Copyright (C) 【2013 liangjw】
    * 版本号:    V1.0
    * 备    注: 无
    * 修改者:   无
    * 修改描述: 无
    * 修改标示: 无
    *
    *******************************************************************************/
     
    $(document).ready(function () {
     
        //获取单元格值改变事件不需要获取焦点
        //备注:可以换成  $(".CheckCountLen").bind("blur", function () {
        $("#butOK").bind("click", function () {
     
            //判断开始时间和结束时间
            var strStartTime = $("#fStarttime").val();
            var endTime = $("#fEndtime").val();
     
            if (strStartTime == "" || endTime == "") {
                $("#DifDay").val(0);
            }
            else {
                var startNum = parseInt(strStartTime.replace(/-/g, ''), 10);
                var endNum = parseInt(endTime.replace(/-/g, ''), 10);
                if (startNum > endNum) {
                    alert("结束时间不能在开始时间之前!");
                }
                else {
                    $("#DifDay").val(DateDiff(strStartTime, endTime));  //调用/计算两个日期天数差的函数,通用
                }
            }
        });
     
        //根据填写相差天数获取结束日期
        $("#butOK1").bind("click", function () {
     
            //判断开始时间和结束时间
            var strStartTime = $("#fStarttime").val();
            var inputNum = $("#inputNum").val(); //获取相差天数
            if (strStartTime != "") {
     
            }
            $("#fEndtime").val(addByTransDate(strStartTime, inputNum));  //根据指定的一个日期和相差的天数,获取另外一个日期
     
        });
     
    });
     
    ////////////////////////////////////////////////////////////////////////////////////////////
    //计算两个日期天数差的函数,通用
    ////////////////////////////////////////////////////////////////////////////////////////////
    function DateDiff(sDate1, sDate2) {  //sDate1和sDate2是yyyy-MM-dd格式
     
        var aDate, oDate1, oDate2, iDays;
        aDate = sDate1.split("-");
        oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);  //转换为yyyy-MM-dd格式
        aDate = sDate2.split("-");
        oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
        iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
     
        return iDays;  //返回相差天数
    }
     
    ////////////////////////////////////////////////////////////////////////////////////////////
    //根据指定的一个日期和相差的天数,获取另外一个日期
    //dateParameter为指定已经存在的日期yyyy-MM-dd  num为相差天数为整型
    ////////////////////////////////////////////////////////////////////////////////////////////
    function addByTransDate(dateParameter, num) {
     
        var translateDate = "", dateString = "", monthString = "", dayString = "";
        translateDate = dateParameter.replace("-", "/").replace("-", "/"); ;
     
        var newDate = new Date(translateDate);
        newDate = newDate.valueOf();
        newDate = newDate + num * 24 * 60 * 60 * 1000;  //备注 如果是往前计算日期则为减号 否则为加号
        newDate = new Date(newDate);
     
        //如果月份长度少于2,则前加 0 补位  
        if ((newDate.getMonth() + 1).toString().length == 1) {
            monthString = 0 + "" + (newDate.getMonth() + 1).toString();
        } else {
            monthString = (newDate.getMonth() + 1).toString();
        }
     
        //如果天数长度少于2,则前加 0 补位  
        if (newDate.getDate().toString().length == 1) {
     
            dayString = 0 + "" + newDate.getDate().toString();
        } else {
     
            dayString = newDate.getDate().toString();
        }
     
        dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString;
        return dateString;
     
    }
  • 相关阅读:
    正则表达式
    Java 枚举(enum) 详解7种常见的用法
    【20170921】(Unfinished)2017暑假北京学习 day 2
    (Unfinished)2017暑假北京学习 day 2
    Openjudge NOI题库 数论4975 两只鼹鼠
    Openjudge NOI题库 数论185 反正切函数的应用
    Noip1998 提高组3 卢斯加法表
    【自己的小玩具程序】化学方程式配平【测试中】【未完成】
    Code Vs 1010 过河卒
    NOI 练手题 图像旋转翻转变换
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/6253218.html
Copyright © 2011-2022 走看看