在android应用程序中,我有倒计时来显示游戏中剩余的时间。它工作的很好,但当我想得到毫秒的时间,因为某种原因,它总是给我整整一分钟。
为了解释,我在数据库中有时间,我从中减去当前时间,但它总是给我整数,总是整分钟,所以我的秒永远不会好。这是密码
setTimeLeftInMilliseconds(calendarEnd.getTimeInMillis() - Calendar.getInstance().getTimeInMillis());
calendarend总是一样的,但是我想让最新的来看看还有多少时间。
输出示例:429780000 429780000 429780000
那都是一分钟,但我没有秒
3条答案
按热度按时间zpjtge221#
热释光;博士
java.time文件
您正在使用被现代java.time类所取代的糟糕的日期时间类。
显然,您希望使用自1970年第一时刻的历元参考点(utc,1970-01-01t00:00z)起的毫秒计数。为此,使用
Instant
班级。以毫秒为单位计算经过的时间。
最好一起工作
Instant
对象来确定Duration
.您可以以毫秒为单位请求整个持续时间。
dbf7pr2w2#
很简单:
zzoitvuj3#
我不确定去那里的逻辑是否正确。两个长值的减法,在本例中是以毫秒为单位的时间,不是您应该做的。有一个选项可以在两个日期之间以秒、分等为单位找出差异。使用此选项可以显示剩余时间。
检查以下代码,您可以简化这些代码,因为您不必使用这里的所有内容:
输出:
你只需使用