热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript计算两个日期之间的时间差

本文介绍了一种使用JavaScript计算两个日期之间时间差的方法。该方法支持多种时间格式,并能返回秒、分钟、小时和天数等不同精度的时间差。

在 Javascript 中,计算两个日期之间的时间差是一个常见的需求。本文提供了一个通用的方法来实现这一功能。

该方法支持以下时间格式:

  • 年-月-日 小时:分钟:秒
  • 年/月/日 小时:分钟:秒

返回的时间差可以是秒、分钟、小时或天数。

// 计算时间差
/**
 * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒
 * 其中,年月日为全格式,例如:2010-10-12 01:00:00
 * 返回精度为:秒、分钟、小时、天
 */
function calculateTimeDifference(startTime, endTime, diffType) {
    // 将 xxxx-xx-xx 的时间格式转换为 xxxx/xx/xx 的格式
    startTime = startTime.replace(/-/g, '/');
    endTime = endTime.replace(/-/g, '/');
    
    // 将计算间隔类型字符转换为小写
    diffType = diffType.toLowerCase();
    
    var startDate = new Date(startTime); // 开始时间
    var endDate = new Date(endTime); // 结束时间
    
    // 作为除数的数字
    var divisor = 1;
    
    switch (diffType) {
        case 'second':
            divisor = 1000;
            break;
        case 'minute':
            divisor = 1000 * 60;
            break;
        case 'hour':
            divisor = 1000 * 3600;
            break;
        case 'day':
            divisor = 1000 * 3600 * 24;
            break;
        default:
            break;
    }
    
    return parseInt((endDate.getTime() - startDate.getTime()) / parseInt(divisor));
}

通过上述代码,您可以轻松地计算两个日期之间的精确时间差。此方法适用于各种时间格式,并且可以根据需要返回不同精度的时间差。

参考链接:https://www.cnblogs.com/duanzq/archive/2012/02/03/2336805.html


推荐阅读
author-avatar
Blunt_X
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有