使用JavaScript和Moment JS计算时间时出错

虚拟机

我在计算时刻时遇到问题。js。问题是,当我以“ hh:mm:ss”格式添加或减去时间并且超过1小时时,效果很好,但是当我添加或减去例如00:33:33或少于一小时的时间时,计算错误。导致计算错误的示例

var nDemo = '01:00:00'; 

var nCalculo = '00:13:00'; 
var timess= nDemo.split(":");

            var hh = timess= [0];
            var min = timess= [1];
            var ss = timess= [2];


            finalr = moment.utc(nCalculo, 'hh:mm:ss').subtract(hhr, 'seconds').format('hh:mm:ss');
            finalr1 = moment.utc(finalr, 'hh:mm:ss').subtract(minr, 'minutes').format('hh:mm:ss');
            finalr2 = moment.utc(finalr1, 'hh:mm:ss').subtract(ssr, 'hour').format('hh:mm:ss');
            alert (finalr2);

我得到的结果是:12:47:00,应该是00:47:00。我想念什么?

如果我用少于一个小时的金额进行相同的计算,那也会出错。

var nDemo = '00:30:00'; 

var nCalculo = '00:13:00'; 
var timess= nDemo.split(":");

            var hh = timess= [0];
            var min = timess= [1];
            var ss = timess= [2];


            finalr = moment.utc(nCalculo, 'hh:mm:ss').add(hhr, 'hour').format('hh:mm:ss');
            finalr1 = moment.utc(finalr, 'hh:mm:ss').add(minr, 'minutes').format('hh:mm:ss');
            finalr2 = moment.utc(finalr1, 'hh:mm:ss').add(ssr, 'hour').format('hh:mm:ss');
            alert (finalr2);

我得到的结果是:12:43:00,应该是00:43:00。我想念什么?

您在一小时以上进行的任何其他类型的计算都是正确的,当您进行少于一小时的计算时会出现错误。有任何想法吗?谢谢

IsThisJavascript

问题是因为这里hh定义的是01-12的12小时制

您应该选择使用HHH改为0-23小时;

finalr = moment.utc(nCalculo, 'H:mm:ss').add(hhr, 'hour').format('H:mm:ss');
finalr1 = moment.utc(finalr, 'H:mm:ss').add(minr, 'minutes').format('H:mm:ss');
finalr2 = moment.utc(finalr1, 'H:mm:ss').add(ssr, 'hour').format('H:mm:ss');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用moment.js和moment时区将日期,时间和偏移量转换为ISO8601 DateTime

moment.js连接日期和时间

如何在Javascript中使用Moment js将ISO 8601解析为日期和时间格式?

JavaScript instanceof和moment.js

moment js函数和javascript date函数之间的区别

使用Jasmine和Moment.js遇到错误moment.moment不是函数

使用Javascript UDF计算IRR时出错

使用chart.js和moment.js进行奇怪的时间格式化

使用Moment.js和Ranges计算加班时间

使用moment.js在日期和时间之间添加空间

使用moment.js倒数到特定的日期和时间

尝试使用moment.js计算2时间和日期之间的时差

在考虑公共假期和周末时使用moment.js和moment-business-days计算日期

如何使用moment.js对结果大于24小时的日期和时间求和

使用JavaScript和Moment.js从时间偏移中估计时区

在javascript中使用moment.js转换时代时间

使用Moment.js或Moment时区,匹配标准时间和夏令时

使用python计算梯度时出错

使用moment.js(时区)时,以(“ YYYY-MM-DD HH:mm”)格式返回日期和时间

使用javascript而不使用moment.js的2个时间戳之间的区别

JavaScript - 转换日期和时间(Chart.js 和 Moment.js)

使用时间戳和 Moment.js

使用纬度和经度计算距离时出错 (PostgreSQL)

JavaScript - Moment 和 Date.toLocaleDateString 在使用不同的语言环境时不断返回我的时间

Moment js 打开和关闭时间

使用sklearn计算NDCG时出错

当javascript中的小时,分钟或秒差异为9时,两个时间差计算给出错误

使用纬度和经度计算距离时出错

用moment js比较日期和时间