我需要获取从 1970-01-01 UTC 到现在 Java 中的 UTC 的毫秒数。
我还希望能够获得从 1970-01-01 UTC 到任何其他 UTC 日期时间的毫秒数。
怎么样System.currentTimeMillis()
?
来自 JavaDoc:
返回: 当前时间与 UTC 1970 年 1 月 1 日午夜之间的差值,以毫秒为单位
Java 8引入了该java.time
框架,特别是Instant
“ ...对时间线上的 ... 点进行建模... ”的类:
long now = Instant.now().toEpochMilli();
返回: 自 1970-01-01T00:00:00Z 纪元以来的毫秒数——即与上面几乎相同:-)
干杯,
使用java.time
Java 8 及更高版本中内置的框架。
import java.time.Instant;
Instant.now().toEpochMilli(); //Long = 1450879900184
Instant.now().getEpochSecond(); //Long = 1450879900
这在 UTC 中有效,因为Instant.now()
它确实是调用Clock.systemUTC().instant()
https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html
也试试System.currentTimeMillis()
你也可以试试
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTimeInMillis());
getTimeInMillis() - 当前时间,距纪元的 UTC 毫秒数