我如何在24小时制中减去变量?

时间:2013-09-19 06:25:30

标签: datetime calculator clock subtraction

这是我到目前为止所拥有的

H1 = input("insert hour 0-23 :")
M1 = input("insert minute 1-60 :")
S1 = input("insert second :")
print H1,":",M1,":",S1

H2 = input("insert hour 0-23 :")
M2 = input("insert minute 1-60 :")
S2 = input("insert second 1-60 :")
print H2,":",M2,",",S2

我被卡住的地方是两次之间的差异,并将差异转换为秒。

如果第一个数字低于第二个数字我明显地尝试了(H3 = H2 - H1或H3 = H1 - H2)之类的东西,那么我认为在我正确地得到差异之后并不会很难得到一个我不想要的负数

我希望数字与24小时制一致

1 个答案:

答案 0 :(得分:1)

一种方法是使用模减法(Modular Arithmetics)。

只需执行类似的操作:

mRemainder, hRemainder = 0;
S = (S1 - S2) mod 60;
if (S1 < S2) mRemainder = 1;
M = (M1 - M2 - mRemainder) mod 60;
if (M1 < M2 + mRemainder) hRemainder = 1;
H = (H1 - H2 - hRemainder) mod 24;