繁体   English   中英

System.currentTimeMillis()以小时为单位给出错误的时间

[英]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();

参考文献

如何使用System.currentTimeMillis()以秒为单位测量时间跨度?

currentTimeMillis()到年,天,分钟和后备词。 (硬)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM