public int getMinutesBetween(int time1, int time2) {
// Extract hours and minutes from compound values, which are base-100,
// effectively.
int hours1 = time1 / 100;
int hours2 = time2 / 100;
int minutes1 = time1 % 100;
int minutes2 = time2 % 100;
// Now we can perform the arithmetic based on 60-minute hours as normal.
return (hours2 - hours1) * 60 + (minutes2 - minutes1);
}
但是,我强烈建议您使用更合适的表示法-这些不仅仅是正常的 int 值。。。它们实际上是“一天中的时间”值,所以 LocalTime (在joda时间或java 8的 java.time )是最合适的代表。
3条答案
按热度按时间zaqlnxep1#
看看duration(javase8中引入的新日期和时间api的一部分)。
例如(未经测试):
zmeyuzjn2#
您可以使用Java8中新的JavaDateAPI。
如果您切换“开始”和“结束”,这将输出:-110和110。
yzuktlbb3#
如果你只有整数,你不关心验证,你可以做这一切,而不触及时间部分:
但是,我强烈建议您使用更合适的表示法-这些不仅仅是正常的
int
值。。。它们实际上是“一天中的时间”值,所以LocalTime
(在joda时间或java 8的java.time
)是最合适的代表。