js获取时间差,返回格式为01天02小时03秒
// 获取时间差 返回值格式: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秒的更多相关文章
- js 获取当前日期时间 格式为 yyyy-mm-dd hh:MM:ss
------------------------------------------------------------------------------------ js 获取当前日期时间 格式为 ...
- html中通过js获取接口JSON格式数据解析以及跨域问题
前言:本人自学前端开发,一直想研究下js获取接口数据在html的实现,顺利地找到了获取数据的方法,但是有部分接口在调用中出现无法展示数据.经查,发现时跨域的问题,花费了一通时间,随笔记录下过程,以方便 ...
- C# 获取时间差(几天前,几小时前,几分钟前,几秒前)
#region 获取时间差string GetTime(BsonString getTime) /// <summary> /// 获取时间差 /// </summary> / ...
- JS 获取JSON返回的时间值转换为通常格式展示
var date = new Date(parseInt(数据源.slice(6))); //获取到时间 年月日时分秒 var result = date.getFullYear() + '/' ...
- js 获取当前时间格式怎么转换?
toLocaleDateString() 得到的时间是 yyyy年MM月dd日 HH:ss:mm 格式的,怎么转换成yyyy-MM-dd HH:ss:mm 在js里面 仅针对这个问题来说,不需要那么大 ...
- JS获取后台返回的JSON数据
问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...
- js获取当前日期(年月日格式)
function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date ...
- js获取当前日期,格式为YYYY-MM-DD
//获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-& ...
- js获取当前日期并格式yyy-MM-dd
//格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.g ...
- js获取时间差值
function GetTime(firstDate, secondDate) { // 1.对事件进行处理 var firsttime = Date.parse(firstDate + " ...
随机推荐
- 图片裁剪插件 vue-cropper [vue插件推荐]
一个优雅的图片裁剪插件 https://www.npmjs.com/package/vue-cropper http://github.xyxiao.cn/vue-cropper/example/
- 27_H.264解码实战
目录 使用FFmpeg命令进行H.264解码 使用FFmpeg代码进行H.264解码 1.获取解码器 3.创建解析器上下文 4.创建AVPacket 5.创建AVFrame 6.打开解码器 7.打开文 ...
- 三维模型OBJ格式轻量化压缩在移动智能终端应用方面的重要性分析
三维模型OBJ格式轻量化压缩在移动智能终端应用方面的重要性分析 三维模型的OBJ格式轻量化压缩在移动智能终端应用方面具有重要性.以下是对三维模型OBJ格式轻量化压缩在移动智能终端应用方面重要性的分析: ...
- 记录--vue中使用vue-video-player实现直播推流播放m3u8
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.安装 vue-video-player npm install vue-video-player --save npm install ...
- GridSearch 最佳 estimator 设置问题
GridSearchCV 最佳 estimator 设置问题 def train_model_Grid(estimator, param_grid, cv, X_train, X_test, y_tr ...
- KGIS支持的扩展介绍
1.postgis postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用. 2.postgis_raster 对栅格数据的支持. 3.postgis_topolog ...
- Scala 模式匹配拓展
1 package chapter08 2 3 object Test03_MatchTupleExtend { 4 def main(args: Array[String]): Unit = { 5 ...
- HTTPS&SPDY&HTTP2&QUIC&HTTP3
HTTPS 密钥交换,加密和解密 SPDY&HTTP2 QUIC&HTTP3
- 测试开发之前端篇-Web前端简介
自从九十年代初,人类创造出网页和浏览器后,Web取得了长足的发展,如今越来越多的企业级应用也选择使用Web技术来构建.前面给大家介绍网络协议时讲到,您在阅读这篇文章时,浏览器是通过HTTP/HTTPS ...
- #交互,分类讨论#CF1292E Rin and The Unknown Flower
题目传送门 分析 先尝试锁定一个字母,显然询问 \(CH,CO,CC\) 会比直接询问 \(C\) 更优,虽然牺牲了最后一个位置是否为 \(C\) 的查询. 同理,询问 \(HH,OH,CH\) 会比 ...