【问题标题】:Calculating total time from HH:MM format从 HH:MM 格式计算总时间
【发布时间】:2018-05-14 01:12:40
【问题描述】:

我从 API 响应中获得了两个字符串,如下所示:

response = {
    startTime: '09:00 AM',
    endTime: '02:00 PM'
}

问题:如何计算两者之间的总时间?

【问题讨论】:

  • 创建两个Date 对象,然后将年、月、日设置为相同(例如,当前日期),但将小时和分钟更改为开始和结束时间。最后,您可以从另一个中减去一个 Date 对象,您将得到以毫秒为单位的差异。转换为您认为合适的任何度量。

标签: javascript datetime time datetime-format


【解决方案1】:

您可以使用 Moment.js (https://momentjs.com/) 来计算:

response = {
    startTime: '09:00 AM',
    endTime: '02:00 PM'
};

var momentStartTime = moment(response.startTime, 'hh:mm a');
var momentEndTime = moment(response.endTime, 'hh:mm a');

console.log('Time difference (minutes): ', momentEndTime.diff(momentStartTime, 'minutes'));

var html = 'Time difference output: <br/>';
html += 'Difference (hours): ' + momentEndTime.diff(momentStartTime, 'hours') + '<br/>';
html += 'Difference (minutes): ' + momentEndTime.diff(momentStartTime, 'minutes') + '<br/>';
html += 'Difference (seconds): ' + momentEndTime.diff(momentStartTime, 'seconds') + '<br/>';

$('#output').html(html);

我在这里为此创建了一个 JS Fiddle:

https://jsfiddle.net/rrLdjjjp/1/

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多