我正在尝试进行简单的时间计算,其中显示文本框中的已用时间。问题是我的方法在返回其他东西时返回零值。是否有可能为此目的投入多头?任何帮助表示赞赏。
我的代码:
total_hours_paycycle是一个值为259200000的long。并且在调试器中显示为
try{
int total_minutes = (int) ((total_hours_paycycle/ (1000*60)) % 60); //<--Should return non-zero value, but is returning 0
int total_hours = (int) ((total_hours_paycycle/ (1000*60*60)) % 24); //<--Should return non-zero value, but is returning 0
hours_worked_converted = total_hours + "." + total_minutes; //<--returning 0.0
total_for_paycycle.setText("Total: "+hours_worked_converted + " hrs.");
}catch(Exception e){
total_for_paycycle.setText("Total: - ");
}
答案 0 :(得分:1)
如果您正在使用API级别9及以上版本,为什么不使用android的TimeUnit类:
int total_minutes = (int)TimeUnit.MILLISECONDS.toMinutes(milliseconds);
int total_hours = (int)TimeUnit.MILLISECONDS.toHours(milliseconds);
答案 1 :(得分:0)
在这种情况下,我建议你看一下Joda Time。做日期数学通常会更好,它会考虑经常被忽视的问题,如时区,日光时间等。
可能太多了,但是罐子很小,它可以帮助您进行任何与日期/时间相关的操作。
此外,它被数百个应用程序使用,因此可以正常使用。