将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000或00天00时00分00秒000毫秒形式)

简介: 将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000或00天00时00分00秒000毫秒形式)

可以隐藏数值为0的时间单位

可以转换为中文单位显示

/**将毫秒数量转换为时分秒字符串*/
toHourMinuteSecondByMillisecond(millisecond, cfg = {}) {
    let t = "",
        ms = Math.round(millisecond),
        s = Math.floor(ms / 1000),
        zh = cfg.zh,//显示中文“00天0时0分0秒0000毫秒”,为false的时候不会有天的概念,最多就是小时数量
        d = cfg.isDoubleDigits,//显示双位数
        f = cfg.isFourDigits,//显示4位数
        hz = cfg.hideZero,//隐藏为0的时间单位
        hd = cfg.hideDay,//隐藏天
        hh = cfg.hideHour,//隐藏小时
        hm = cfg.hideMinute,//隐藏分钟
        hs = cfg.hideSecond,//隐藏秒钟
        hms = cfg.hideMilliSecond;//隐藏毫秒钟
    let day = Math.floor(s / 3600 / 24),
        hour = Math.floor(s / 3600),
        min = Math.floor(s / 60) % 60,
        sec = s % 60,
        msec = ms % 1000;
    zh && (hour = hour % 24);//如果是显示中文单位,重新计算小时数量(要扣除天数*24)
    (hd || !zh) || (hz && !day) || (d && day < 10 && (t += "0"), t += day + (zh ? "天" : ":"));
    hh || (hz && !hour) || (d && hour < 10 && (t += "0"), t += hour + (zh ? "时" : ":"));
    hm || (hz && !min) || (d && min < 10 && (t += "0"), t += min + (zh ? "分" : ":"));
    hs || (hz && !sec) || (d && sec < 10 && (t += "0"), t += sec + (zh ? "秒" : ""));
    hms || (hz && !msec) || (f && msec < 1000 && (msec = msec.toString().padStart(3, "0")), t += (zh ? "" : ".") + msec + (zh ? "毫秒" : ""));
    return t;
},

延伸阅读


image.png

image.png

相关文章
|
9月前
时间戳转换时间
时间戳转换时间
|
6月前
|
JSON 小程序 JavaScript
小程序返回的时间戳转化成时间
小程序返回的时间戳转化成时间
25 0
|
9月前
|
前端开发
时间秒转换为毫秒
时间秒转换为毫秒
50 0
|
11月前
|
Java BI
Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的累加天数,计算周期
132 1
|
12月前
|
Serverless Python
函数计算默认使用的是 UTC 时间
函数计算默认使用的是 UTC 时间
147 0
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
691 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
Java 输入两个时间日期,输出每个自然月的起始和结束时间日期
Java 输入两个时间日期,输出每个自然月的起始和结束时间日期
233 0
Java 输入两个时间日期,输出每个自然月的起始和结束时间日期
判断输入的日期字符串是否小于当前日期
package com.wonders; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * 日期公共处理类
226 0
|
Java
java时间工具 判断时间大于一个月,小于一年,时间必须以月为单位分割(欢迎测试)
1 package test; 2 3 import java.io.UnsupportedEncodingException; 4 import java.text.ParseException; 5 import java.
3161 0