我正在尝试让我的应用程序显示时间,为此我需要获得android的分钟和小时。我正在尝试使用currentTimeMillis()
,但我的工作时间错误。这是我使用系统时钟的小时和分钟代码。
int defday = (int) (System.currentTimeMillis() / (1000 * 60 * 60 * 24));
int defhour = (int) (System.currentTimeMillis() - (defday * 1000 * 60 * 60 * 24))
/ (1000 * 60 * 60);
int defmin = (int) (System.currentTimeMillis()
- (defhour * 1000 * 60 * 60) - (defday * 1000 * 60 * 60 * 24))
/ (1000 * 60);
运行应用后,时间显示时间为5:36
,即使当前时间为1:36
。我做错了什么?
答案 0 :(得分:3)
创建一个Calendar对象:
long millis=System.currentTimeMillis();
Calendar c=Calendar.getInstance();
c.setTimeInMillis(millis);
在此之后,您可以从Calendar对象中获取字段:
int hours=c.get(Calendar.HOUR);
int minutes=c.get(Calendar.MINUTE);
然后:
int MinutesHours =(小时* 60)+分钟; 要返回,您可以在日历中使用set方法:
Calendar c=Calendar.getInstance();
c.set(Calendar.MINUTE,minutes);
long millis=c.getTimeInMillis();
<强>参考强>
How to measure the a time-span in seconds using System.currentTimeMillis()?
currentTimeMillis() to Years, days, and minutes, and backwords. (hard)