计算两个时间差的问题

function getDateIsMatching(){
var pactbegindate=$("#loanbegindate").datetimebox("getValue");
var pactenddate=$("#loanenddate").datetimebox("getValue"); var loanterm=$("#loanterm").val();
var loantermtype=$("#loantermtype").val(); var loantermtypestr;
//将日期字符串分隔为数组,数组元素分别为年.月.日
var date1Str = pactbegindate.split("-");
//根据年 . 月 . 日的值创建Date对象
var date1Obj = new Date(date1Str[0],(date1Str[1]-1),date1Str[2]); //将日期字符串分隔为数组,数组元素分别为年.月.日
var date2Str = pactenddate.split("-");
//根据年 . 月 . 日的值创建Date对象
var date2Obj = new Date(date2Str[0],(date2Str[1]-1),date2Str[2]); var year1 = date1Obj.getFullYear();
var year2 = date2Obj.getFullYear(); //相差的年数
var differYears =year2-year1; var month1 = date1Obj.getMonth();
var month2 = date2Obj.getMonth(); //相差的月数
var differMonths=differYears*12+(month2-month1); var day1=parseInt(date1Str[2]);
var day2=parseInt(date2Str[2]); //相差的天数
var differDays=day2-day1; if(null!=loantermtype&&loantermtype==1){
loantermtypestr="年";
if (loanterm!=differYears) {
alert("起止日期相差的年数"+differYears+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
return false;
} if (month2!=month1) {
alert("请检查起止日期的月份是否相等!");
return false;
} //大于等于就正确
if (differDays<0) {
alert("请检查起止日期的'天数'是否正确!");
return false;
} return true;
}else if(null!=loantermtype&&loantermtype==2){
loantermtypestr="个月";
if (loanterm!=differMonths) {
alert("起止日期相差的月数"+differMonths+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
return false;
} //大于等于就正确
if (differDays<0) {
alert("请检查起止日期的'天数'是否正确!");
return false;
} return true;
}else{
var t1 = date1Obj.getTime();
var t2 = date2Obj.getTime();
var dateTime = 1000*60*60*24; //每一天的毫秒数
var minusDays = Math.floor(((t2-t1)/dateTime));//计算出两个日期的天数差
var days = Math.abs(minusDays);//取绝对值 loantermtypestr="天";
if (loanterm!=days) {
alert("起止日期相差的天数"+days+loantermtypestr+",合同期限:"+loanterm+loantermtypestr+",请确认起止日期是否正确!");
return false;
}
return true;
}
}

JS计算两个时间差的问题的更多相关文章

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

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

  2. js 计算两个时间差

    /* * 计算两个日期的间隔天数* BeginDate:起始日期的文本框,格式為:2012-01-01* EndDate:結束日期的文本框,格式為:2012-01-02* 返回兩個日期所差的天數* 調 ...

  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. LeetCode 2——两数相加

    1. 题目 2. 解答 循环遍历两个链表 若两个链表都非空,将两个链表结点的值和进位相加求出和以及新的进位 若其中一个链表为空,则将另一个链表结点的值和进位相加求出和以及新的进位 然后将每一位的和添加 ...

  2. centos7.4内核从3.10升级到4.14详细步骤

    由于我们的docker学习中的Overlay需要内核版本在3.12+,所以在安装完centos7.4之后要进行内核升级,下面是升级步骤:1.导入keyrpm --import https://www. ...

  3. NO3——BFS

    #include <stdio.h> #include <string.h> #include <queue> using namespace std; struc ...

  4. winform 控件半透明设置

    1.backcolor属性为color.FromArgb(100, 220, 220, 220); 2.全透明设置为transparent方法.

  5. Linux在线用户通信

    1,/etc/motd文件 该文件即 message of today(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端.系统管理员可以在文件中编辑系统活动消息 即像公告栏 ...

  6. [剑指Offer] 24.二叉树中和为某一值的路径

    [思路] ·递归先序遍历树, 把结点加入路径. ·若该结点是叶子结点则比较当前路径和是否等于期待和. ·弹出结点,每一轮递归返回到父结点时,当前路径也应该回退一个结点 注:路径定义为从树的根结点开始往 ...

  7. [HAOI2010]计数

    题面在这里 description 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数. 比如说给定{1,2},那么可以生成数字12,21,102,120,201,210 ...

  8. [洛谷P2044][NOI2012]随机数生成器

    题目大意:给你$m,a,c,X_0,n,g$,求$X_{n+1}=(a\cdot X_n+c) \bmod{m}$,最后输出对$g$取模 题解:矩阵快速幂+龟速乘,这里用了$long\;double$ ...

  9. 2018牛客多校第三场 C.Shuffle Cards

    题意: 给出一段序列,每次将从第p个数开始的s个数移到最前面.求最终的序列是什么. 题解: Splay翻转模板题.存下板子. #include <bits/stdc++.h> using ...

  10. bzoj1914 [Usaco2010 OPen]Triangle Counting 数三角形 计算机和

    [Usaco2010 OPen]Triangle Counting 数三角形 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 526  Solved: 2 ...