[英]System.currentTimeMillis() giving wrong time in hours
我正在尝试让我的应用显示时间,为此,我需要获取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);
运行应用程序后,即使当前时间是1:36
时间也会显示为5:36
。 我究竟做错了什么?
创建一个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)+分钟; 若要返回,可以在Calendar中使用set方法:
Calendar c=Calendar.getInstance();
c.set(Calendar.MINUTE,minutes);
long millis=c.getTimeInMillis();
参考文献
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.