幽灵资源网 Design By www.bzswh.com
核心代码
/*
* 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
* 其中,年月日为全格式,例如 : 2010-10-12 01:00:00
* 返回精度为:秒,分,小时,天
*/
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));
}
调用方法也很简单:
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "day")
这个是计算天数
GetDateDiff("2010-10-11 00:00:00", "2010-10-11 00:01:40", "seond")是计算秒数
下面小编再为大家分析一个不错的
<html>
<script type="text/javascript">
alert(dealDate("2018-01-20","2018-01-28"));
//提示前面的日期小于后面的日期
function dealDate(date1,date2){
date1 = new Date(date1);//如果传进来的是"yyyy-MM-dd"形式的字符串
date2 = new Date(date2);
var year1 = date1.getFullYear();
var month1 = date1.getMonth()+1;
var day1 = date1.getDate();
var dateMax1 = new Date(year1,month1,0);
var dayMax1 = dateMax1.getDate();
var year2 = date2.getFullYear();
var month2 = date2.getMonth()+1;
var day2 = date2.getDate();
var dateMax2 = new Date(year2,month2,0);
var dayMax2 = dateMax2.getDate();
if(day1==dayMax1&&day2==dayMax2){
//开始日期和结束日期都是月底
//直接计算月份差,推算几年几个月
var res = (year2-year1)*12+(month2-month1);//月份差
var difYear = Math.floor(res/12);
var difMonth = res%12;
return ((difYear!=0)"年"):"")+difMonth+"个月";
}else if(day1==dayMax1&&day2<dayMax2){
//开始日期是月底,结束日期不是
//计算开始日期到结束日期上一个月的月底,再加上结束日期的天数
var month3 = month2-1;
var res = (year2-year1)*12+(month3-month1);//月份差
var difYear = Math.floor(res/12);
var difMonth = res%12;
var difDay = day2;
return ((difYear!=0)"年"):"")+((difMonth!=0)"个月"):"")+difDay+"天";
}else if(day1<dayMax1&&day2<dayMax2){
//开始日期和结束日期都不是月底
//情况1,day1<day2
if(day1<=day2){
var res = (year2-year1)*12+(month2-month1);//月份差
var difYear = Math.floor(res/12);
var difMonth = res%12;
var difDay = day2-day1;
return ((difYear!=0)"年"):"")+((difMonth!=0)"个月"):"")+difDay+"天";
}else{
var month3 = month2-1;
var res = (year2-year1)*12+(month3-month1);//月份差
var difYear = Math.floor(res/12);
var difMonth = res%12;
var difDayTemp = day1-day2;
var dateMax3 = new Date(year2,month3,0);
var dayMax3 = dateMax3.getDate();
var difDay = dayMax3-difDayTemp;
return ((difYear!=0)"年"):"")+((difMonth!=0)"个月"):"")+difDay+"天";
}
}
}
</script>
</html>
运行测试返回天数的,大家可以根据需要参考上面的代码修改即可。
标签:
时间差
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。