为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉丁的传说 2021-06-06 08:34:52
我有一个以纪元毫秒为单位的时间戳,我想检查它是否在两个LocalDateTime邮票之间。在java中执行此操作的最佳方法是什么?
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

一种方法是将毫秒转换为 LocalDateTime


LocalDateTime 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

}


查看完整回答
反对 回复 2021-06-10
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

将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


}


查看完整回答
反对 回复 2021-06-10
  • 3 回答
  • 0 关注
  • 235 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信