/*

* 计算两个日期的间隔天数
* BeginDate:起始日期的文本框,格式為:2012-01-01
* EndDate:結束日期的文本框,格式為:2012-01-02
* 返回兩個日期所差的天數
* 調用方法:
* alert("相差"+DateDiff("date1","date2")+"天");
*/    

function DateDiff(sDate1, sDate2) {    //sDate1和sDate2是2006-12-18格式
            var aDate, oDate1, oDate2, iDays
            aDate = sDate1.split("-")
            oDate1 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0]) //转换为12-18-2006格式
            aDate = sDate2.split("-")
            oDate2 = new Date(aDate[1] + '/' + aDate[2] + '/' + aDate[0])
            //iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数 (firefox不支持。返回NaN)
            var i = (oDate1 - oDate2) / 1000 / 60 / 60 / 24;
            if (i < 0) {
                i -= 1;
            }
            else {
                i += 1;
            }
            iDays = i;   //把相差的毫秒数转换为天数
            //alert(iDays);
            return iDays
        }

//获取日期:前天GetDateStr(-2)、昨天GetDateStr(-1)、今天GetDateStr(0)、明天GetDateStr(1)、后天GetDateStr(2)
        function GetDateStr(AddDayCount) {
            var dd = new Date();
            dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
            var y = dd.getFullYear();
            var m = dd.getMonth() + 1; //获取当前月份的日期
            var d = dd.getDate();
            return y + "-" + m + "-" + d;
        }

//调用

var EXECDATE = $('#EXECDATE').datebox('getValue');
            var EXECDATEEND = $('#EXECDATEEND').datebox('getValue');
            var s1 = EXECDATE.substring(0, 4) + "-" + EXECDATE.substring(4, 6) + "-" + EXECDATE.substring(6, 8);
            var s2 = EXECDATEEND.substring(0, 4) + "-" + EXECDATEEND.substring(4, 6) + "-" + EXECDATEEND.substring(6, 8);
            if ((DateDiff(s2, GetDateStr(1))) > 1) {
                alert("结束日期不能晚于【" + GetDateStr(1) + "】");
                return false;
            }

if (EXECDATE != EXECDATEEND) {
                if ((DateDiff(s2, s1)) > 31) {
                    alert("日期范围超过最大查询天数,最大查询天数为30天!");
                    return false;
                }
            }

js 计算两个时间差的更多相关文章

  1. JS计算两个时间差的问题

    计算两个时间差的问题 function getDateIsMatching(){ var pactbegindate=$("#loanbegindate").datetimebox ...

  2. js计算两个时间差 天 时 分 秒 毫秒

    // 计算两个时间差 dateBegin 开始时间 function timeFn(dateBegin) { //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 var dateEnd = ...

  3. js计算两个时间差

    时间格式 time:'2018-04-26 15:49:00'需要转换为time:'2018/04/26 15:49:00' 使用time.replace(/\-/g, "/") ...

  4. js计算两个日期的天数差值

    js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...

  5. JS计算两个日期之间的天数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 问题:C#时间差;结果:C# 使用TimeSpan计算两个时间差

    C# 使用TimeSpan计算两个时间差 可以加两个日期之间任何一个时间单位. private string DateDiff(DateTime DateTime1, DateTime DateTim ...

  7. PHP计算两个时间差的方法

    <?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45 ...

  8. bat计算两个时间差

    这个是脚本代码[保存为etime.bat放在当前路径下即可: 免费内容: :etime <begin_time> <end_time> <return>rem 所测 ...

  9. delphi计算两个时间差

    uses DateUtils; var S1, S2: string; T1, T2: TDateTime; D, H, M, S: Integer; Value: Int64; begin S1 : ...

随机推荐

  1. 一个好用的VC DBGRID[图]

    本文示例源代码下载 CGridCtrl_demo19_01.zip为演示CGridCtrl的使用 CGridCtrl_demo19_02.zip演示与CMYODBC的配合使用 一.引言 在用vc开发关 ...

  2. new Date().getTime()

    new Date().getTime()获取当前时间戳; 不知道是毫秒级还是千分之一毫秒级别

  3. 用VIM删除空行

    从网上找了一个 :g/^s*$/d 开始用的挺好,后来遇到一种空格开头的空行,就不好用了. MSDN上说正则匹配空行用/^\s*$/,就试着把上面的命令改为: :g/^\s*$/d 就可以了. 用的操 ...

  4. Java I/O流操作(二)---缓冲流[转]

    转自:http://blog.csdn.net/johnny901114/article/details/8710403 一.BufferWriter类 IO的缓冲区的存在就是为了提高效率,把要操作的 ...

  5. C# Attribute(特性)之---数据契约 [DataContract]

    服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务端和客户端之间要传送的自定义数据类型. 一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送,如下所 ...

  6. 选项卡 js操作

    html代码展示(这里展示的是关于日程的标签页)css样式这里省略了>>>>自己写的可能更好看 <div class="row"> <ul ...

  7. C++_基础_类和对象2

    内容: (1)构造函数 (2)初始化列表及其必要性 (3)支持自定义类型转换的构造函数 (4)this指针 (5)const对象和成员函数 (6)析构函数 1.构造函数1.1 格式: class 类名 ...

  8. Convert Sorted List to Balanced Binary Search Tree (BST)

    (http://leetcode.com/2010/11/convert-sorted-list-to-balanced-binary.html) Given a singly linked list ...

  9. [C#参考]主线程和子线程之间的参数传递

    几个进程在大多数情况下要包含很多的子线程,那么他们之间免不了的要互相传递很多的参数,那么参数怎么传递的呢? 主线程向子线程传递参数的方法 第一种方法:Thraed类有一个带参数的委托类型的重载形式,这 ...

  10. [iOS开发]TextKit之动态改变样式

    在iOS中有一项功能,就是用户可以自定义设备的字体大小,粗体和其他一些样式.具体可以选择 “设置” ---- “通用” ---- “字体大小“ / “辅助功能”, 重新调整文本字体的样式. 如何使ap ...