计算两个时间差的问题

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;
}
}

最新文章

  1. Mifare系列7-安全性(转)
  2. spring mvc CommonsMultipartResolver上传文件异常处理
  3. CentOS版本选择说明
  4. POJ——3264线段树
  5. sprintf、strcpy和memcpy的区别
  6. air 移动开发配置文件详解
  7. light oj 1078 - Integer Divisibility
  8. select组件
  9. SSH中调用另一action的方法(chain,redirect)
  10. IIS7.5 asp+access数据库连接失败处理 64位系统
  11. Android自己定义控件(状态提示图表)
  12. 【转】三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
  13. [转]ERROR: http://rancherserver/v1 is not accessible
  14. Python学习 --- 列表
  15. AWT和Swing的关系
  16. spring mvc中获取请求URL
  17. Linux 文件,目录,压缩,解压缩操作
  18. JS 数组Array常用方法
  19. System.Windows.Freezable 在未被引用的程序集中定义
  20. mysql-sql-standard

热门文章

  1. 【SSH】——使用ModelDriven的利与弊
  2. Struts2值栈
  3. [剑指Offer] 29.最小的K个数
  4. C#的23种设计模式概括
  5. [UOJ#351]新年的叶子
  6. [Leetcode] Best time to buy and sell stock iii 买卖股票的最佳时机
  7. 【NOIP模拟赛】chess 建图+spfa统计方案数
  8. 给DOM元素绑定click事件也有学问
  9. Linux(CentOS)用split命令分割文件
  10. BZOJ1191:超级英雄(二分图匹配)