`
mwhgJava
  • 浏览: 97979 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

两钟时间间隔格式

 
阅读更多
function formatDurationTime(durationTime) {
    function padStart(value, size) {
        return value.toString().padStart(size, '0');
    }
    var milliSecond = durationTime % 1000;
    durationTime = Math.floor(durationTime / 1000);
    if (durationTime == 0) {
        return "." + padStart(milliSecond, 3);
    }
    var second = durationTime % 60;
    durationTime = Math.floor(durationTime / 60);
    if (durationTime == 0) {
        return padStart(second, 2) + "." + padStart(milliSecond, 3);
    }
    var minute = durationTime % 60;
    durationTime = Math.floor(durationTime / 60);
    if (durationTime == 0) {
        return padStart(minute, 2) + ":" + padStart(second, 2) + "." + padStart(milliSecond, 3);
    }
    var hour = durationTime % 24;
    durationTime = Math.floor(durationTime / 24);
    if (durationTime == 0) {
        return padStart(hour, 2) + ":" + padStart(minute, 2) + ":" + padStart(second, 2) + "." + padStart(milliSecond, 3);
    }
    var day = durationTime;
    return day + "T" + padStart(hour, 2) + ":" + padStart(minute, 2) + ":" + padStart(second, 2) + "." + padStart(milliSecond, 3);
}

function isoDurationTime(durationTime) {
    function padStart(value, size) {
        return value.toString().padStart(size, '0');
    }
    var milliSecond = durationTime % 1000;
    durationTime = Math.floor(durationTime / 1000);    
    var second = durationTime % 60;
    durationTime = Math.floor(durationTime / 60);    
    var minute = durationTime % 60;
    durationTime = Math.floor(durationTime / 60);    
    var hour = durationTime % 24;
    durationTime = Math.floor(durationTime / 24);    
    var day = durationTime;
    return padStart(day, 2) + "T" + padStart(hour, 2) + ":" + padStart(minute, 2) + ":" + padStart(second, 2) + "." + padStart(milliSecond, 3);
}

console.log(formatDurationTime(1));
console.log(formatDurationTime(12));
console.log(formatDurationTime(123));
console.log(formatDurationTime(1234));
console.log(formatDurationTime(12345));
console.log(formatDurationTime(123456));
console.log(formatDurationTime(1234567));
console.log(formatDurationTime(12345678));
console.log(formatDurationTime(123456789));
console.log(formatDurationTime(1234567890));
console.log(formatDurationTime(12345678901));
console.log(isoDurationTime(1));
console.log(isoDurationTime(12));
console.log(isoDurationTime(123));
console.log(isoDurationTime(1234));
console.log(isoDurationTime(12345));
console.log(isoDurationTime(123456));
console.log(isoDurationTime(1234567));
console.log(isoDurationTime(12345678));
console.log(isoDurationTime(123456789));
console.log(isoDurationTime(1234567890));
console.log(isoDurationTime(12345678901));




result:
.001
.012
.123
01.234
12.345
02:03.456
20:34.567
03:25:45.678
1T10:17:36.789
14T06:56:07.890
142T21:21:18.901
00T00:00:00.001
00T00:00:00.012
00T00:00:00.123
00T00:00:01.234
00T00:00:12.345
00T00:02:03.456
00T00:20:34.567
00T03:25:45.678
01T10:17:36.789
14T06:56:07.890
142T21:21:18.901
分享到:
评论

相关推荐

    VC中计算两个时间点的时间间隔

    除了`chrono`库,Windows API也提供了一种方法来获取时间间隔,主要是使用`QueryPerformanceCounter`和`QueryPerformanceFrequency`函数。这两个函数可以提供高精度的计时服务,适合对微秒级别甚至纳秒级别时间间隔...

    C# Winform获取两个时间的间隔

    首先,让我们关注时间间隔的计算。在C#中,我们可以使用`DateTime`结构来表示日期和时间,并通过减法运算符得到两个`DateTime`对象之间的差值。这个差值会返回一个`TimeSpan`对象,它包含了两个日期之间的天数、小时...

    delphi取微秒级时间间隔

    以上两种方法都能帮助你在Delphi中获取微秒级时间间隔,但需要注意的是,`QueryPerformanceCounter`和`TStopwatch`依赖于硬件的支持,可能在某些旧的或低性能的系统上表现不佳。因此,在实际应用中,应当考虑到这些...

    matlab开发-计算时间间隔差异

    7. **调整时间单位**: `adjustUnits2`函数可能是用于将时间间隔从一种单位调整到另一种单位,比如从秒转换为分钟或小时。 8. **使用示例**: `usage_timeDifference.m`可能是一个脚本或函数,展示了如何使用上述函数...

    高精度时间间隔测量方法综述

    时间间隔测量是一种重要的测量技术,已经在通信、雷达、卫星及导航定位等领域获得了实际应用。高精度时间间隔测量方法是提高测量精度的关键,文章对国内外高精度时间间隔测量方法进行了综述,并对其发展趋势进行了...

    两个时间间隔的天数

    - **时间戳**:在计算机科学中,时间戳是表示某个时间点的一种方式,通常以自某一固定时间点(如 Unix 时间戳以1970年1月1日00:00:00 UTC 为起点)以来的毫秒数表示。 - **日期格式化**:在实际应用中,常常需要将...

    修改TimePicker时间间隔

    默认情况下,TimePicker提供了24小时制和12小时制两种模式,用户可以通过设置`android:is24HourView`属性来切换。例如: ```xml android:id="@+id/time_picker" android:layout_width="wrap_content" android:...

    时间间隔测量技术

    直接计数法是一种常见的用于时间间隔测量的技术,它的基本原理与直接计数法测量频率相似。不同之处在于,当测量时间间隔时,电子门的开启时间等于所需测量的时间间隔。具体来说,内部晶体振荡器通过倍频或分频产生...

    spring时间间隔启动类

    Spring Task是Spring框架的一部分,它提供了两种主要的方式来实现定时任务:`@Scheduled`注解和基于Quartz或Cron的任务调度。对于简单的定时任务,`@Scheduled`注解通常就足够了;而对于更复杂的任务调度需求,比如...

    怎样改变双击鼠标的时间间隔?

    双击时间间隔是指用户连续两次点击鼠标左键之间的时间长度。系统默认设置了一个合适的时间间隔,以确保大多数用户能够轻松地执行双击操作而不会误触。但是,默认的时间间隔并不总是适用于所有情况。例如,在处理大量...

    oracle日期时间数据类型与时间间隔数据类型讲解

    ### Oracle日期时间数据类型与时间间隔数据类型详解 #### 23.1 概述:Oracle中的日期时间数据类型 在Oracle数据库中,日期时间数据类型主要包括`DATE`、`TIMESTAMP`及其变体(如`TIMESTAMP WITH TIME ZONE`、`...

    使用Oracle中的时间间隔型数据

    Oracle 9i开始遵循SQL 99标准,引入了两种时间间隔类型:INTERVAL YEAR TO MONTH和INTERVAL DAY TO SECOND。 INTERVAL YEAR TO MONTH用于表示年和月的间隔,适合处理如租赁期限、合同有效期等跨年的时段。它的精度...

    易语言源码取时间间隔增强模块源码.rar

    在易语言中,处理时间间隔通常涉及到日期和时间的操作,如获取当前时间、计算两个时间点之间的差距、设置定时器等。这个增强模块可能提供了更为高效或者更灵活的方法来实现这些功能,使得开发者能够更方便地处理与...

    日期时间间隔计算

    日期时间间隔计算是编程领域中常见的一种需求,尤其在数据分析、日程管理或者任何与时间相关的应用程序中。这个话题涉及到的主要知识点包括日期处理、时间间隔计算以及可能的编程语言实现。 1. **日期处理**:在...

    时间间隔测量原理.pdf

    在电子计数器或频率计中,时间间隔测量通常依赖于一种称为“Gate”信号的机制。Gate信号用于控制一个计数器的开闭,其中“Start”信号触发Gate信号打开,而“Stop”信号则关闭Gate信号。在此期间,时钟脉冲被计数器...

    易语言取时间间隔加强模块

    这些功能允许将时间间隔从一种单位转换为另一种。例如,如果你有一个以秒为单位的间隔,你可以用这些函数将其转换为分钟、小时、天数或月数。这对于显示用户友好的时间间隔或者适应不同的计时需求是必要的。 8. **...

    嵌入式时间间隔计数器的研制.pdf

    3. **单片机89C52**:读取 \( n \) 值和两个通道的 A/D 转换结果,并计算出最终的时间间隔测量结果。 4. **LCD显示器**:显示测量结果。 5. **RS232串口**:用于输出测量结果至外部设备。 ### 四、软件设计 单片机...

    matlab开发-加载时间间隔为4dmatrix

    下面将介绍两种不同的方法:LoadDicomSeriesV2.m 和 LoadDicomSeries.m,这两个MATLAB脚本都是为了实现这个目标。 1. **LoadDicomSeriesV2.m**: 这个函数可能采用了更优化的算法或更新的特性来加载DICOM序列。...

    易语言取时间间隔增强模块

    "转换秒"、"转换分"、"转换时"、"转换日"、"转换月"、"转换月_1"和"转换年"这些函数用于将时间间隔从一种单位转换为另一种。例如,“转换秒”可以将时间间隔从分钟或小时转换为秒;“转换月”则可以将时间间隔从天或...

    精彩编程与编程技巧-怎样改变双击鼠标的时间间隔?...

    为了识别一个双击操作而非两个单击操作,操作系统会设定一个时间间隔阈值,即双击时间(Double Click Time),只有当两次点击之间的时间间隔小于这个阈值时,系统才会认定这是一次双击操作。 ### 二、双击时间间隔...

Global site tag (gtag.js) - Google Analytics