在Java中如何从纪元(1970-01-01)开始得到毫秒?

yhuiod9q  于 2022-12-28  发布在  Java
关注(0)|答案(4)|浏览(194)

我需要得到从1970-01-01 UTC到现在UTC的毫秒数。
我还希望能够获得从1970-01-01 UTC到任何其他UTC日期时间的毫秒数。

fnvucqvd

fnvucqvd1#

System.currentTimeMillis()怎么样?
从JavaDoc:

**返回:**当前时间与1970年1月1日(UTC)午夜之间的差值(以毫秒为单位)
Java 8引入了java.time框架,特别是Instant类,它“*......对时间线上的......点建模...... *":

long now = Instant.now().toEpochMilli();

**返回:***自1970-01- 01 T00:00:00 Z以来的毫秒数 * --也就是说,几乎与上面的相同:-)

smdncfj3

smdncfj32#

java.时间

使用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

dxxyhpgq

dxxyhpgq3#

也可以尝试System.currentTimeMillis()

6yjfywim

6yjfywim4#

你也可以试试

Calendar calendar = Calendar.getInstance();
  System.out.println(calendar.getTimeInMillis());

getTimeInMillis()-当前时间,以UTC毫秒表示,从历元开始

相关问题