我有一个 int
计数器,从 600 开始,在 Runnable
中,并增加 1。
600 代表早上 6 点,2400 代表午夜。
将此 int
与从 API 接收的相同格式的 int
进行比较。
我需要比较它们;然而,问题是我的 int
目前一小时有 100 分钟,所以随着时间的推移,它会变得越来越不合时宜。
有没有办法将int
计数器转换为时间格式? (Java 格式的 18000000 = 6am 不起作用)
菲尔干杯
最佳答案
戴夫·牛顿说得对,这只是数学。您的整数时间由两个部分组成,小时和分钟(易于阅读但难以计算)。
int time = 600;
int hours = time / 100;
int minutes = (time - hours * 100) % 60;
所以你不能只是增加你的时间(time++
),因为按照你写的,你最终每小时有一百分钟。请改用此方法:
int incrementTime(int time) {
time++;
int hours = time / 100;
int minutes = (time - hours * 100) % 60;
if (minutes == 0) hours++;
return hours * 100 + minutes;
}
你可以尝试一下:
time = 600;
for (int i=0; i < 120; i++) {
time = incrementTime(time);
System.out.println(time);
}
关于java - Java将int转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107323/