将毫秒数量转换为时分秒字符串(毫秒数→转换为→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

相关文章
|
1月前
|
Python
python时间时间换算 精确到毫秒
python时间时间换算 精确到毫秒
31 0
|
2月前
|
Python
python时间换算 精确到毫秒
python时间换算 精确到毫秒
56 4
|
5月前
|
C#
C# 版本的 计时器类 精确到微秒 秒后保留一位小数 支持年月日时分秒带单位的输出
这篇2010年的文章是从别处搬运过来的,主要包含一个C#类`TimeCount`,该类有多个方法用于处理时间相关的计算。例如,`GetMaxYearCount`计算以毫秒为单位的最大年数,`GetCurrentTimeByMiliSec`将当前时间转换为毫秒,还有`SecondsToYYMMDDhhmmss`将秒数转换为年月日时分秒的字符串。此外,类中还包括一些辅助方法,如处理小数点后保留一位数字的`RemainOneFigureAfterDot`。
|
5月前
|
程序员
程序员必知:将时间的秒数转化为分钟数
程序员必知:将时间的秒数转化为分钟数
85 0
|
12月前
|
JSON 小程序 JavaScript
小程序返回的时间戳转化成时间
小程序返回的时间戳转化成时间
49 0
|
Java BI
Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的累加天数,计算周期
158 1
|
前端开发
时间秒转换为毫秒
时间秒转换为毫秒
112 0
7-168 币值转换 (20 分)
7-168 币值转换 (20 分)
101 0
1-8 币值转换 (20 分)
1-8 币值转换 (20 分)输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。