我想知道是否有一种方法可以从1-1-1970(历代)使用新的LocalDate
,,,LocalTime
或LocalDateTime
Java 8类。
已知的方式如下:
long currentMilliseconds = new Date().getTime();
或
long currentMilliseconds = System.currentTimeMillis();
发布于 2018-02-24 09:06:55
假设你有一个LocalDateTime
就像这样:
LocalDateTime ldt = LocalDateTime.of(2014, 5, 29, 18, 41, 16);
您需要应用时区信息,给出ZonedDateTime
:
ZonedDateTime zdt = ldt.atZone(ZoneId.of("America/Los_Angeles"));
如果你能得到一个有效的ZonedDateTime
,可以将其转换为自时代以来的毫秒数,如下所示:
long millis = zdt.toInstant().toEpochMilli();
发布于 2018-02-24 10:30:04
我没有指定时区,
System.out.println("ldt " + LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
System.out.println("ctm " + System.currentTimeMillis());
施予
ldt 1424812121078
ctm 1424812121281
如果不喜欢System.Current...,使用Instant.now().toEpochMilli()
https://stackoverflow.com/questions/-100004162
复制相似问题