比较 epoch 毫秒和 LocalDateTime 之间的 java 时间

我有一个以纪元毫秒为单位的时间戳,我想检查它是否在两个LocalDateTime邮票之间。在java中执行此操作的最佳方法是什么?


拉丁的传说
浏览 236回答 3
3回答

三国纷争

一种方法是将毫秒转换为 LocalDateTimeLocalDateTime date = Instant.ofEpochMilli(milliseconds)        .atZone(ZoneId.systemDefault())        .toLocalDateTime();LocalDateTime start = LocalDateTime.now().minusMinutes(1);LocalDateTime end = LocalDateTime.now().plusMinutes(1);if (date.isAfter(start) && date.isBefore(end)) {  // date is between start and end}

繁华开满天机

将Instant(time-since-Epoch) 与 a进行比较时LocalDateTime,您始终需要考虑当地时间的时区。下面是一个例子:Instant now = Instant.now();LocalDateTime start = LocalDateTime.of(2018, 7, 24, 0, 0);LocalDateTime end = LocalDateTime.of(2018, 7, 24, 23, 59);final ZoneId myLocalZone = ZoneId.of("Europe/Paris");if (now.isAfter(start.atZone(myLocalZone).toInstant())         && now.isBefore(end.atZone(myLocalZone).toInstant())) {    // the instant is between the local date-times}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java