jQuery时间计算(转时间戳)
前段时间总是碰到时间间隔计算的问题,于是自己在网上找了一些计算方法,试了下,很多都是有问题的。本篇博客是根据网上的方法自己探索出来的,亲测没问题。
话不多说,直接上代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
function second(s) {
return s < 10 ? '0' + s: s;
}
var myDate = new Date();
//获取当前年
var year=myDate.getFullYear();
//获取当前月
var month=myDate.getMonth()+1; //月份记得+1,常识性问题
//获取当前日
var date=myDate.getDate();
var h=myDate.getHours(); //获取当前小时数(0-23)
var m=myDate.getMinutes(); //获取当前分钟数(0-59)
var s=myDate.getSeconds();
var now=year+'-'+p(month)+"-"+second(date)+" "+second(h)+':'+second(m)+":"+second(s); //获取当前时间
var str1 = '2017-10-03 14:00:00';
var str2 = now;
//用正则表达式, 且精确到秒
function Days1(day1, day2){
var y1, y2, y3, m1, m2, m3, d1, d2, d3, h1, h2, h3, _m1, _m2, _m3, s1, s2, s3;
var reg = /-|-|- |\/|:| /;
//dayinfo - 用正则分割
var DI1 = day1.split(reg);
var DI2 = day2.split(reg);
var date1 = new Date(DI1[0], DI1[1], DI1[2], DI1[3], DI1[4], DI1[5]);
var date2 = new Date(DI2[0], DI2[1], DI2[2], DI2[3], DI2[4], DI2[5]);
//用距标准时间差来获取相距时间
var minsec = Date.parse(date1) - Date.parse(date2);
var days = minsec / 1000 / 60 / 60 / 24; //factor: second / minute / hour / day
var num = days.toFixed(4);
var newnum=num*24*60*60;
return newnum;
}
alert(Days1(str1, str2)+"秒");
</script>
</head>
<body>
</body>
</html>
还没有评论,来说两句吧...