【问题标题】:Java 8 LocalDate from long to date not converted correct从长到日期的 Java 8 LocalDate 未正确转换
【发布时间】:2017-11-30 06:45:39
【问题描述】:

我想以毫秒为单位将日期转换为日期,但转换不正确。

public static void main(String[] args) {        
    LocalDate today = LocalDateTime.now().toLocalDate();
    System.out.println("Today: ----------" + today);
    long todayLong = today.atStartOfDay(ZoneId.systemDefault()).toEpochSecond();
    System.out.println("todayLong: ---------- " + todayLong);
    LocalDate todayBack = Instant.ofEpochMilli(todayLong).atZone(ZoneId.systemDefault()).toLocalDate();
    System.out.println("todayBack: ---------- "+todayBack);
}

这是输出:

今天:----------2017-06-27

tod​​ayLong: ---------- 1498507200

tod​​ayBack: ---------- 1970-01-18

【问题讨论】:

    标签: java date localdate zoneddatetime


    【解决方案1】:

    您需要使用ofEpochSecond 而不是ofEpochMilli,因为您的todayLongsecond,而不是milisecond

    LocalDate todayBack = Instant.ofEpochSecond(todayLong).atZone(ZoneId.systemDefault()).toLocalDate();
    

    【讨论】:

      【解决方案2】:

      你在第 6 行有一个小错误 (Instant.ofEpochMilli)。 请改用Instant.ofEpochSecond

      LocalDate today = LocalDateTime.now().toLocalDate();
      System.out.println("Today: ----------" + today);
      long todayLong = today.atStartOfDay(ZoneId.systemDefault()).toEpochSecond();
      System.out.println("todayLong: ---------- " + todayLong);
      LocalDate todayBack = Instant.ofEpochSecond(todayLong).atZone(ZoneId.systemDefault()).toLocalDate();
      System.out.println("todayBack: ---------- " + todayBack);
      

      【讨论】:

        【解决方案3】:

        你必须将 todayLong 乘以 1000

        LocalDate todayBack = Instant.ofEpochMilli(todayLong * 1000).atZone(ZoneId.systemDefault()).toLocalDate();
        
        System.out.println("todayBack: ---------- " + todayBack);
        

        获取输出:

        今天:----------2017-06-27

        tod​​ayLong: ---------- 1498514400

        tod​​ayBack: ---------- 2017-06-27

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-29
          • 2014-10-21
          • 2018-03-28
          • 2016-02-23
          • 2020-07-01
          • 2015-11-07
          • 2015-06-16
          • 2021-09-09
          相关资源
          最近更新 更多