//[Sat 2018-12-29 13:30:00 UTC]
final long startTs = 1546090200000L
//[Wed 2019-01-02 09:12:00 UTC]
final long endTs = 1546420320000L
有没有办法使用 LocalDateTime 打印这两个时间之间的所有天数?
理想的输出是:
2018-12-29
2018-12-30
2018-12-31
2019-01-01
2019-01-02
最佳答案
您可以使用LocalDateTime
,例如:
LocalDateTime startLDT = LocalDateTime.ofInstant(Instant.ofEpochMilli(startTs), ZoneId.systemDefault());
LocalDateTime endLDT = LocalDateTime.ofInstant(Instant.ofEpochMilli(endTs), ZoneId.systemDefault());
while (startLDT.isBefore(endLDT)) {
System.out.println(startLDT.format(DateTimeFormatter.ISO_LOCAL_DATE));
startLDT = startLDT.plusDays(1);
}
此循环需要几毫秒并创建 LocalDateTime
的实例。然后,在每次迭代中,如果较早的日期早于较晚的日期,则以 yyyy-MM-dd
格式打印并按天递增。
关于java - 有没有办法可以在Java中打印两个纪元时间之间的所有天数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874627/