前日JS处理时间差(返回各种类型:天、时、分、秒)
借助优秀的Javascrīpt框架jquery
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/js/jquery-1.4.4.min.js"></script>
/*
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如 : 2010-10-12 01:00:00
* 返回精度为:秒,分,小时,天
* @gbf time:2014-2-28
*/
function GetDateDiff(startTime, endTime, diffType) {
//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
startTime = startTime.replace(/-/g, "/");
endTime = endTime.replace(/-/g, "/");
//将计算间隔类性字符转换为小写
diffType = diffType.toLowerCase();
var sTime = new Date(startTime); //开始时间
var eTime = new Date(endTime); //结束时间
//作为除数的数字
var divNum = 1;
switch (diffType) {
case "second":
divNum = 1000;
break;
case "minute":
divNum = 1000 * 60;
break;
case "hour":
divNum = 1000 * 3600;
break;
case "day":
divNum = 1000 * 3600 * 24;
break;
default:
break;
}
return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
}
///////////////前台将时间类型转换成上面方法的参数类型(yyyy-mmdd)/////////////////////////
function ChangeDateToString ( DateIn )
{
var Year = 0 ;
var Month = 0 ;
var Day = 0 ;
var CurrentDate = "" ;
// 初始化时间
Year = DateIn . getYear ();
Month = DateIn . getMonth ()+ 1 ;
Day = DateIn . getDate ();
CurrentDate = Year + "-" ;
if ( Month >= 10 )
{
CurrentDate = CurrentDate + Month + "-" ;
}
else
{
CurrentDate = CurrentDate + "0" + Month + "-" ;
}
if ( Day >= 10 )
{
CurrentDate = CurrentDate + Day ;
}
else
{
CurrentDate = CurrentDate + "0" + Day ;
}
return CurrentDate ;
}
//例子
var insbegtime=Ext.getCmp("updbegtime").getValue();
var insendtime=Ext.getCmp("updendtime").getValue();
var sbeg=ChangeDateToString(insbegtime);
var send=ChangeDateToString(insendtime);
var days = GetDateDiff(sbeg,send,"day");
if(days<30){
Ext.MessageBox.alert("信息提示","该培训经历开始到结束时间不满足要求!");
return;
}