如何提取纪元值Long
来自实例LocalDateTime
or LocalDate
?我试过了
以下,但它给了我其他结果:
LocalDateTime time = LocalDateTime.parse("04.02.2014 19:51:01", DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
System.out.println(time.getLong(ChronoField.SECOND_OF_DAY)); // gives 71461
System.out.println(time.getLong(ChronoField.EPOCH_DAY)); // gives 16105
我想要的只是价值1391539861
对于本地日期时间"04.02.2014 19:51:01"
。
我的时区是Europe/Oslo
UTC+1 夏令时。
课程LocalDate
and LocalDateTime
不包含有关的信息timezone or 时间偏移,如果没有此信息,自纪元以来的秒数将是不明确的。但是,这些对象有多种方法可以通过传递一个参数将它们转换为带有时区的日期/时间对象ZoneId
实例。
本地日期
LocalDate date = ...;
ZoneId zoneId = ZoneId.systemDefault(); // or: ZoneId.of("Europe/Oslo");
long epoch = date.atStartOfDay(zoneId).toEpochSecond();
本地日期时间
LocalDateTime time = ...;
ZoneId zoneId = ZoneId.systemDefault(); // or: ZoneId.of("Europe/Oslo");
long epoch = time.atZone(zoneId).toEpochSecond();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)