// 获取时间差 返回值格式:01天02小时30秒
export function caclulateDiffTime(start, end): string {
start = new Date(start).getTime();
end = new Date(end).getTime();
let staytimeGap = end - start;
if (staytimeGap < 0) {
staytimeGap = start - end;
}
if(isNaN(staytimeGap )) {
throw new Error('时间参数有误!');
}
// 计算
let stayDay = Math.floor(staytimeGap / (3600 * 1000 * 24));
let modHour = staytimeGap % (24 * 1000 * 3600);
let stayHour = Math.floor(modHour / (3600 * 1000));
let modMin = modHour % (3600 * 1000);
let stayMin = Math.floor(modMin / (60 * 1000));
let modSec = modMin % (60 * 1000);
let staySec = Math.floor(modSec / 1000); const timeArr = [
{
title: '天',
time: stayDay,
},
{
title: '小时',
time: stayHour,
},
{
title: '分钟',
time: stayMin,
},
{
title: '秒',
time: staySec,
},
];
return timeArr
.map((item) => {
// 补0
if (item.time < 10) {
item.time = '0' + item.time;
}
return item;
})
// 去除时间为0项
.filter((item) => item.time > 0)
.map((item) => item.time + item.title)
.join('');
}

js获取时间差,返回格式为01天02小时03秒的更多相关文章

  1. js 获取当前日期时间 格式为 yyyy-mm-dd hh:MM:ss

    ------------------------------------------------------------------------------------ js 获取当前日期时间 格式为 ...

  2. html中通过js获取接口JSON格式数据解析以及跨域问题

    前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...

  3. C# 获取时间差(几天前,几小时前,几分钟前,几秒前)

    #region 获取时间差string GetTime(BsonString getTime) /// <summary> /// 获取时间差 /// </summary> / ...

  4. JS 获取JSON返回的时间值转换为通常格式展示

    var date = new Date(parseInt(数据源.slice(6)));   //获取到时间  年月日时分秒 var result = date.getFullYear() + '/' ...

  5. js 获取当前时间格式怎么转换?

    toLocaleDateString() 得到的时间是 yyyy年MM月dd日 HH:ss:mm 格式的,怎么转换成yyyy-MM-dd HH:ss:mm 在js里面 仅针对这个问题来说,不需要那么大 ...

  6. JS获取后台返回的JSON数据

    问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...

  7. js获取当前日期(年月日格式)

    function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date ...

  8. js获取当前日期,格式为YYYY-MM-DD

    //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-& ...

  9. js获取当前日期并格式yyy-MM-dd

    //格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.g ...

  10. js获取时间差值

    function GetTime(firstDate, secondDate) { // 1.对事件进行处理 var firsttime = Date.parse(firstDate + " ...

随机推荐

  1. 20个Python random模块的代码示例

    本文分享自华为云社区<Python随机数探秘:深入解析random模块的神奇之处>,作者:柠檬味拥抱. 标准库random函数大全:探索Python中的随机数生成 随机数在计算机科学和数据 ...

  2. open cv java 可以 对图片进行分析,得到数据。考试答题卡 2B铅笔涂黑嘎达 识别

    open cv java 可以 对图片进行分析,得到数据.考试答题卡 2B铅笔涂黑嘎达 识别

  3. Android 关于Dialog在全屏弹出会显示状态栏和导航栏的问题解决

    项目的奇葩需求,需要弹出Dialog不要显示状态栏和导航栏,记录一下解决方法 原文地址:Android 关于Dialog在全屏弹出会显示状态栏和导航栏的问题解决 Stars-one的杂货小窝 说明 A ...

  4. day04-原生的API&注解方式

    原生的API&注解方式 1.MyBatis原生的API调用 1.1原生API快速入门 需求:在前面的项目基础上,使用MyBatis原生的API完成,即直接通过SqlSession接口的方法来完 ...

  5. js实现回调功能实例

    所谓js回调,本人认为无非就是一个函数的参数是另外一个函数,而作为参数的函数就称之为回调函数 <script type="text/javascript">  //要请 ...

  6. MapStructPlus 1.4.0 发布,体积更轻量!性能更强!

    MapStruct Plus 是 MapStruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷.优雅. ...

  7. Cloud XR面临的问题以及Cloud XR主要应用场景

    cloud xr面临的问题 带宽要求高:cloud xr需要实时把一个高码率的视频流,从云端传输到终端,这需要一个非常大的带宽. 延迟要求低:在传输的过程中,它需要一个非常低的时延,XR每进行一个新动 ...

  8. [.NET项目实战] Elsa开源工作流组件应用(三):实战演练

    补充 之前的文章简单介绍了工作流和Elsa工作流库,这里再补充说明两点 工作流的使用场景非常广泛,几乎涵盖了所有需要进行业务流程自动化管理的领域. 学习一个开源库,最简单的方法就是看源码,Elsa的工 ...

  9. Spring Cloud Alibaba服务的注册与发现之Nacos部署

    1.Nacos官网介绍 Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理.Nacos 帮助您更敏捷和容 ...

  10. KingbaseES Json 系列五--Json数据操作函数三

    KingbaseES Json 系列五:Json数据操作函数三(JSONB_SET,JSONB_INSERT,JSON_QUERY) JSON 数据类型是用来存储 JSON(JavaScript Ob ...