计算两个时间差的问题

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. C++ 学习笔记之——输入和输出

    在 C++ 中,我们通过调用输入输出流库中的流对象 cin 和 cout 来实现输入和输出. #include <iostream> using namespace std; int ma ...

  2. 目标检测之Faster-RCNN的pytorch代码详解(模型训练篇)

    本文所用代码gayhub的地址:https://github.com/chenyuntc/simple-faster-rcnn-pytorch  (非本人所写,博文只是解释代码) 好长时间没有发博客了 ...

  3. KMP板子+Trie板子

    KMP算法是一个字符串匹配算法,最直白的用法就是在一个长度为n的字符串T中查找另一个长度为m字符串P的匹配(总之就是用于文本中进行单个字符串的匹配). 对于这个问题,暴力算法是很好做的,直接对于T的每 ...

  4. eclipse mylyn.tasks.ui

    sudo rm workspace/.metadata/.lock ./Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -clean - ...

  5. intelliJ idea 使用技巧&方法

    导入的项目查看svn地址:在项目上右键--subversion--relocate可以看到以前对应的svn地址. 重要的几个快捷键的使用方式: (1)       alt+insert 成员变量封装 ...

  6. java生成和解析二维码

    前言 现在,二维码的应用已经非常广泛,在线生成器也是诸多,随手生成. 所以就和大家分享一个小案例,用zxing来做一个的二维码生成器,当然这个例子是比较简单,若是写的不好请多多包涵. ZXING项目是 ...

  7. BZOJ4753 JSOI2016最佳团体(分数规划+树形dp)

    看到比值先二分答案.于是转化成一个非常裸的树形背包.直接暴力背包的话复杂度就是O(n2),因为相当于在lca处枚举每个点对.这里使用一种更通用的dfs序优化树形背包写法.https://www.cnb ...

  8. BZOJ4487 JSOI2015染色问题(组合数学+容斥原理)

    逐个去除限制.第四个限制显然可以容斥,即染恰好c种颜色的方案数=染至多c种颜色的方案数-染至多c-1种颜色的方案数+染至多c-2种颜色的方案数…… 然后是限制二.同样可以容斥,即恰好选n行的方案数=至 ...

  9. Thymeleaf 如何支持java8的时间LocalDate和LocalDatetime

    一.添加依赖 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thym ...

  10. 【转】C#获取当前路径7种方法

    webformvar s = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; //C盘 IIS路径 var s1 ...