我需要从1970-01-01 UTC到现在的UTC中获得UTC的毫秒数。
我还希望能够获得从1970-01-01 UTC到任何其他UTC日期时间的毫秒数。
答案 0 :(得分:123)
System.currentTimeMillis()
怎么样?
来自JavaDoc:
返回: 当前时间与1970年1月1日午夜时间之间的差异(以毫秒为单位)
Java 8 引入了java.time
框架,特别是Instant
类“ ...模拟时间线上的...点... “:
long now = Instant.now().toEpochMilli();
返回: 自1970-01-01T00:00:00Z 的纪元以来的毫秒数 - 即与上述几乎相同: - )
干杯,
答案 1 :(得分:38)
使用Java 8及更高版本中内置的java.time
框架。
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
答案 2 :(得分:12)
同时尝试System.currentTimeMillis()
答案 3 :(得分:0)
您也可以尝试
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTimeInMillis());
getTimeInMillis()-当前时间(以纪元为单位,以UTC毫秒为单位)