我需要减去从0两个24小时的时间值23.计算时差
例如,21:00 - (!)22:00应该返回23小时不-1小时。
我不在乎分钟。
我试过搜索,但没有得到一个。但我觉得它已经有了一个功能,所以不用写一个。
谢谢大家。
我需要减去从0两个24小时的时间值23.计算时差
例如,21:00 - (!)22:00应该返回23小时不-1小时。
我不在乎分钟。
我试过搜索,但没有得到一个。但我觉得它已经有了一个功能,所以不用写一个。
谢谢大家。
减去两次,如果结果是否定的,加24
使用模:(24+a-b)%24
(我认为11是一个错字这里了,正确答案是23)
只要将它们视为整数并将它们归一化为0-23。
var c = (a%24 - b%24);
return c < 0 ? c+24;
如果你真的认为21:00 - 22:00 == 11,你一定是说你要在两次,这是在24小时的时间表示在12小时小时值的差异,所以你真的想模12:
var c = (a%12 - b%12);
return c < 0 ? c+12;
回报(9 - 10)+ 12 = 11
我想你想要的是21:00 - 22:00给了23小时。换句话说,如果今天是10点,明天9点就是23个小时。这很容易。
hours = (time1 - time2 + 24) % 24;
凡
为什么加24?在括号内添加24可以避免使用负数模的未定义行为的问题。这比if语句更好,因为它不会阻塞管道。
咦? 21:00-22:00 = 11小时如何? – 2011-01-27 17:16:36
21和22如何成为11?我的意思是,我会理解23,但是11? – Nanne 2011-01-27 17:19:54