我有一个int
计数器,从600开始,在Runnable
,并且增加1。
600表示早上6点,2400表示午夜。
将此int
与以相同格式从API收到的int
进行比较。
我需要比较它们两者;然而,问题是我的int
目前在一小时内有100分钟,所以随着时间的推移它会越来越多时间。
有没有办法将int
计数器转换为时间格式? (Java格式为18000000 = 6am不起作用)
干杯菲尔
答案 0 :(得分:1)
如果你真的需要改变你的0 - > 2400到“时间格式”,您可以使用:
hour = uTime/100
uMinutes = uTime - hour*100
normalMinutes = (60*uMinutes)/100
然后转到“长”和毫秒用于其他地方。
答案 1 :(得分:1)
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);
}
答案 2 :(得分:0)
Java已经有办法将日期时间转换为数字,反之亦然。
//Get integer representation of time
Calendar rightNow = Calendar.getInstance();
long integerRepresentation = rightNow.getTimeInMillis();
//Set time to integer reprsentation
Calendar calendar2 = Calendar.getInstance();
calendar2.setTimeInMillis(integerRepresentation);