javascript计算两个时间差

其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒

var d1 = new Date(‘2016/03/28 10:17:22‘);
var d2 = new Date(‘2016/03/28 11:17:22‘);
console.log(parseInt(d2 - d1));//两个时间相差的毫秒数
console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数
console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的分钟数
console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的小时数

如果,拿到的不是日期类型,而是"2016-03-28 10:27:00"这种的字符串格式呢,那么就需要先将字符串转换为日期类型。
var t1 = "2016-03-28 10:27:00";
var d1 = t1.replace(/\-/g, "/");
var date1 = new Date(d1);

以上得到的date1就是一个日期类型了。就可以计算了,只要再简单封装一下,就能够组合出任意的事件类型转换函数。

如:输入字符串得到相差秒数:
<!doctype html>
<html>
<head>
    <title>jQuery判断元素是隐藏的还是可见的</title>
</head>
<body>
<script>
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 timeType =1;
    switch (diffType) {
        case"second":
            timeType =1000;
        break;
        case"minute":
            timeType =1000*60;
        break;
        case"hour":
            timeType =1000*3600;
        break;
        case"day":
            timeType =1000*3600*24;
        break;
        default:
        break;
    }
    return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType));
}
alert(GetDateDiff("2016-03-28 10:30:22","2016-03-28 10:38:22","minute"));
</script>
</body>
</html>
时间: 2024-07-31 08:39:14

javascript计算两个时间差的相关文章

计算两个时间差的两个函数

计算两个时间差的两个函数  两个时间之差- (NSString *)intervalFromLastDate: (NSString *) dateString1 toTheDate:(NSString *) dateString2{NSArray *timeArray1=[dateString1 componentsSeparatedByString:@"."];dateString1=[timeArray1 objectAtIndex:0]; NSArray *timeArray2=

PHP计算两个时间差的方法

<?php //PHP计算两个时间差的方法 $startdate="2010-12-11 11:40:00"; $enddate="2012-12-12 11:45:09"; $date=floor((strtotime($enddate)-strtotime($startdate))/86400); $hour=floor((strtotime($enddate)-strtotime($startdate))/86400/3600); $minute=flo

根据时间戳计算两个时间差

/**      * 两个时间相差距离多少天多少小时多少分多少秒  <br>     * 时间参数为 Unix时间戳     * @param str1 时间参数 1 格式:1407132214     * @param str2 时间参数 2 格式:1407132214     * @return String 返回值为:xx天xx小时xx分xx秒      */     public static String getDistanceTime(String str1, String str

php计算两个时间差

/**  * 计算两个时间差  * @param  [type] $start [description]  * @param  [type] $end   [description]  * @return [type]        [description]  */ function cdate($start,$end) {     $begin_time = strtotime($start);     $end_time   = strtotime($end); if($begin_ti

javaScript 计算两个日期的天数相差

一:计算两个日期相差的天数 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 4 <title></title> 5 </head> 6 7 <body> 8 <button onClick="btnCount_Click()"&g

db2和oracle sql 语句中计算两个时间差的语法

db2 sql语句中计算两个日期相差的语法 结束日期为:2015-10-10  11:30:00 开始日期为:2015-09-09  10:40:00 (1)timestampdiff(8,char(结束时间-开始时间) )(加时分秒计算,会舍去零数)值为744小时 (2)(days(结束时间)-days(开始时间))*24 +hour(结束时间)-hour(开始时间) (不加时分秒计算)值为745小时 (3)Days(结束日期)-days(开始日期)的值为31天 (4)Day(结束日期)-da

javascript计算两个日期(date)对象的时间差

var st1 = "2008-8-1 8:50:01"; var st2 = "2008-8-3 8:50:01"; var time1 = new Date(st1);                                //创建时间1 var tiem2 = new Date(st2);                                //创建时间2 /* *如果求的时间差为天数则处以864000000,如果是小时数则在这个数字上 *除

java中计算两个时间差

java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try {  Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse(&

C# 使用TimeSpan计算两个时间差

可以加两个日期之间任何一个时间单位. private string DateDiff(DateTime DateTime1, DateTime DateTime2) {string dateDiff = null; TimeSpan ts = DateTime1.Subtract(DateTime2).Duration(); dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes