首页 > 其他分享 >js 计算给定的毫秒值所占的时长信息。格式化时长工具代码片段

js 计算给定的毫秒值所占的时长信息。格式化时长工具代码片段

时间:2022-10-21 11:57:56浏览次数:51  
标签:units tempTimes unitName js 毫秒 let threshold timeParts 时长

代码


function formatTime(millis, reserve=false){
	let units = [
		{
			unitName: '毫秒',
			threshold: 1000,
		},
		{
			unitName: '秒',
			threshold: 60,
		},
		{
			unitName: '分钟',
			threshold: 60,
		},
		{
			unitName: '小时',
			threshold: 24,
		},
		{
			unitName: '天',
			threshold: 30,
		},
	]

	let tempTimes = [millis,0];
	let timeParts = [];

	for(let i=0, end=false;i<units.length ;i++) {
		let unit = units[i];
		let tempTime = tempTimes[0];

		if(tempTime < unit.threshold){
			timeParts.push({
				matchUnit: units[i],
				unitValue: tempTime
			})
		}else if(i >=  units.length - 1){
			timeParts.push({
				matchUnit: units[i],
				unitValue: tempTime
			})
		}else {

			tempTimes[0] = Math.trunc(tempTime / unit.threshold);
			tempTimes[1] = tempTime % unit.threshold;
			timeParts.push({
				matchUnit: units[i],
				unitValue: tempTimes[1]
			})

		}

	}

	return reserve ? timeParts.reverse() : timeParts;
}


# 示例
formatTime(60*65)

标签:units,tempTimes,unitName,js,毫秒,let,threshold,timeParts,时长
From: https://www.cnblogs.com/XingXiaoMeng/p/16812976.html

相关文章

  • JS内置对象和API了解不深刻的地方记录
    1、BigIntBigInt 数据形式 1n  22n  56n BigInt(1);//1n注意事项:BigInt只能和BigInt进行计算;5n/2n=2n会取整,不会取余数2、String上面的API  split ......
  • js php 简单聊天室
    本文使用websocket+gatewayworker搭的一个简单聊天室,随便写了点样式,大家不要介意哈,主要看流程就好 html代码,<!doctypehtml><htmllang="en"><head><meta......
  • 深入nodejs的event-loop
    此处如无特殊指出的话,eventloop的语境都是指nodejs本文研究所用的nodejs环境是:操作系统window10+nodejs版本号为v12.16.2什么是eventloop?eventloop是指由libuv......
  • js正则中的 ^(脱字符) 与 $(美元符号)的含义
    壹❀引在学习js正则中发现了这篇讲解^与$在正则中的作用,分析的很清晰,由此进行转载分享。如有侵权,请联系笔者删除!本文转自:博客园听风是风原文出处: https://www.cnb......
  • 细说nodejs的path模块
    前言path模块是nodejs中用于处理文件/目录路径的一个内置模块,可以看作是一个工具箱,提供诸多方法供我们使用,当然都是和路径处理有关的。同时在前端开发中path模块出现......
  • 遇到的jstl标签库与tomcat 10服务器相关问题
    在写项目的时候,JSP页面引用核心标签库语句<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>运行后报错在tomcat10使用jstl的时候产生如下错误:HTTP状态......
  • jmeter BeanShell 后置处理器 提取json数组,重新组装后供下一个接口使用
    前置条件:在jmeter中使用Json需要先下载一个json包放到jmeter安装路径下的lib\ext下我这里用的是json-20140107.jar我已经放到了百度网盘上,需要的可以自取:链接:https://p......
  • js给定两个数组,写一个方法来计算它们的交集?
    JavaScript给定两个数组,写一个方法来计算它们的交集   查看代码varnums1=[1,2,2,1,0],     nums2=[2,2,3,4,0];   ......
  • jmeter 提取json数组中的所有key相同的值,并返回数组
    接口响应数据如下:{"msg":"ok","result":{"total":5530,"num":2,"list":[{"classid":2,......
  • JSP入门
    JSP入门JSP(全称JavaServerPages)是由SunMicrosystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的We......