如何在 JavaScript 中计算“时间 1”-“时间 2”
how to calculate "time 1" - "time 2" in JavaScript?
Friends,
我想计算两次之间的差异。例如,我有
var workedHours = '05:00:00';
var defaultWorkDay = '08:00:00';
所以我需要计算工作时间 - 默认工作日并期望得到"-03:00:00"结果。
我尝试过.js但没有成功。
你有什么建议吗?
我从未使用过 moment.js ,但我认为这应该适合您:
var defaultWorkDay = '08:00:00';
var workedHours = '05:00:00';
var a = moment.duration(defaultWorkDay);
var b = moment.duration(workedHours);
console.log( [ b.subtract(a).hours(), b.subtract(a).minutes(), b.subtract(a).seconds() ]
) // [-3:0:0]
<script src="http://momentjs.com/downloads/moment.min.js"></script>
http://momentjs.com/docs/#/durations/subtract/
通过在小时前面加上日期(如下所示)将小时转换为带有时间的日期,然后在 Date 对象上使用 .getTime() 进行数学运算。然后将这些毫秒转换为您的小时,或者您想要的任何其他时间单位。
var date1 = new Date("2000-01-01 05:00:00");
var date2 = new Date("2000-01-01 08:00:00");
var msTimeOffset = date1.getTime() - date2.getTime();
var hourTimeOffset = msTimeOffset / 1000 / 60 / 60;
expect(hourTimeOffset).toBe(-3); // passes
如果您确定格式始终hours:minutes:secnodes
,则可以这样做...:
var start = "05:00:00";
var end = "08:00:00";
var startArr = start.split(':');
var endArr = end.split(':');
var diffInSeconds = 0
+ ( endArr[0] - startArr[0] ) * 3600
+ ( endArr[1] - startArr[1] ) * 60
+ ( endArr[2] - startArr[2] ) ;
console.log ( 'The difference is : ' + diffInSeconds + ' seconds.');
// => The difference is 10800 seconds.
相关文章:
- JavaScript计算帮助(乘以时间)
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 计算浏览器上的空闲时间
- 如何用javascript计算从现在开始的时间
- 如何计算angular JS应用程序(单页应用程序)的页面加载时间
- 根据时间计算运动
- 高图表动态不同的时间计算
- 距离 = 速率 * 时间计算
- 日期时间计算问题
- javascript中的日期时间计算库
- 关于重构jQuery持续时间计算的建议
- Javascript时间计算从昨天到明天
- 以完整格式显示时间计算
- jquery日期和时间计算firefox NaN
- 时间计算算法
- JS时间计算-一个日期在两个日期之间发生了多少次
- 从给定的UTC时间计算UTC时间&PHP中的秒数
- 防止浏览器冻结和崩溃长时间计算
- Javascript多个工作时间计算从日期到现在