Ezh*_*hik 5 java datetime date
怎么了?我假设如果我从1980年1月1日0:0:0减去1ms然后我得到1979.但是我必须减去大约500+ ms.拜托,给我一个提示.
val cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
cal.set(1980, 0, 1, 0, 0, 0)
val date = new Date
date.setTime(cal.getTimeInMillis()) // <- 1980 Jan 01 0:0:0
date.setTime(cal.getTimeInMillis() - 1) // <- 1980 Jan 01 0:0:0 too !!!
Run Code Online (Sandbox Code Playgroud)
更新.
解决方案是
val cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
cal.setTimeInMillis(0)
cal.set(1980, 0, 1, 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)
随着Calendar.set(year, month, day, hourOfDay, minute, second)无毫秒设置.因此,Calendar实现将毫秒设置为"未知",实际上将其视为给定秒内的中点.
减去500ms意味着你只需要跨越中点.如果你添加500毫秒也会发生同样的情况,这应该会让你刚刚超过秒.实际上减去500ms工作,你必须添加620毫秒才能看到下一秒.
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |