// 获取时间差 返回值格式: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. folder-alias vscode左侧目录树 起别名 插件 (git decorations)

    folder-alias vscode左侧目录树 起别名 插件 插件 效果 不足 文件路径或目录路径中包含中文 会挂不上别名,纯英文路径没问题 有修改后,git会覆盖,不显示别名 个人意见 我的项目都 ...

  2. Vue3 写业务逻辑不适合用TS(TypeScript)

    TypeScript 最重要的就是装饰器 Vue3最重要更新就是Setup 装饰器就是为了打散功能点,Vue3的Setup功能也是打散功能点,那用Vue3上TS,感觉就是自己给自己多一层工作量. 我这 ...

  3. Mysql查询数据量大小

    --按实例 SELECT CONCAT(round(sum(DATA_LENGTH/1024/1024/1024),2),"GB") as datazise FROM inform ...

  4. day06-SpringMVC底层机制简单实现-02

    SpringMVC底层机制简单实现-02 https://github.com/liyuelian/springmvc-demo.git 4.任务3-从web.xml动态获取容器配置文件 4.1分析 ...

  5. Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC

    Javabase64macmd5sha     加密解密,曾经是我一个毕业设计的重要组件.在工作了多年以后回想当时那个加密.解密算法,实在是太单纯了.     言归正传,这里我们主要描述Java已经实 ...

  6. Android Studio源码导入与调试

    从事Android开发都需要涉及到Android源码的阅读,特别是系统应用或者Framework开发,读代码的时间远远比写代码的时间更多. 一. 生成iml与ipr 在Android Studio中导 ...

  7. 数据好合: Argilla 和 Hugging Face Spaces 携手赋能社区合力构建更好的数据集

    最近,Argilla 和 Hugging Face 共同 推出 了 Data is Better Together 计划,旨在凝聚社区力量协力构建一个对提示进行排名的偏好数据集.仅用几天,我们就吸引了 ...

  8. Oracle 索引原理

    B-Tree索引 一个B树索引只有一个根节点,它实际就是位于树的最顶端的分支节点. 可以用下图一来描述B树索引的结构.其中,B表示分支节点,而L表示叶子节点. 对于分支节点块(包括根节点块)来说,其所 ...

  9. Win10 如何在桌面显示我的电脑

    Win10桌面右键鼠标,然后在弹出来的选项中选择个性化. 选择了个性化后会弹出设置界面,在设置中选择[主题] 找到[桌面图标设置] 点击[桌面图标设置],会弹出一个对话框,该对话框有可以设置显示的图标 ...

  10. CentOS7.5安装JDK8

    1.下载地址 https://www.oracle.com/java/technologies/javase-jdk8-downloads.html 2.创建文件夹 mkdir /usr/java 3 ...