火影 发表于 2022-8-9 14:39:38

Java8:LocalDate/ LocalDateTime与String、Date、TimeStamp的互转

 
LocalDate与String、Date、TimeStamp的互转:
https://img2022.cnblogs.com/blog/2504389/202206/2504389-20220623185459245-1798244758.png
 
 LocalDateTime与String、Date、TimeStamp的互转:
https://img2022.cnblogs.com/blog/2504389/202206/2504389-20220623185634298-1978152577.png
 
 结果如下:
https://img2022.cnblogs.com/blog/2504389/202206/2504389-20220623185714909-1959756770.png
 
 附代码:
    public static void main(String[] args) {
      System.out.println("-------------------------LocalDate-----------------------------");

      LocalDate localDate = LocalDate.now();
      System.out.println("localDate = " + localDate);

      // LocalDate 转换为 String
      DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
      String time = localDate.format(formatter);
      System.out.println("time = " + time);

      // LocalDate 转换为 Date
      Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
      System.out.println("date = " + date);

      // LocalDate 转换为 时间戳(毫秒数)
      long timestamp = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()).getTime();
      System.out.println("timestamp = " + timestamp);

      // 时间戳(毫秒数) 转换为 LocalDate
      LocalDate time_localDate = Instant.ofEpochMilli(timestamp).atOffset(ZoneOffset.ofHours(8)).toLocalDate();
      System.out.println("time_localDate = " + time_localDate);

      // Date 转换为 LocalDate
      LocalDate date_localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();
      System.out.println("date_localDate = " + date_localDate);

      // String 转换为 LocalDate
      LocalDate string_localDate = LocalDate.parse(time, formatter);
      System.out.println("string_localDate = " + string_localDate);

      System.out.println("-------------------------LocalDateTime-----------------------------");

      LocalDateTime localDateTime = LocalDateTime.now();
      System.out.println("localDateTime = " + localDateTime);

      // LocalDateTime 转换为 String
      DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
      String localDateTime_string = dtf.format(localDateTime);
      System.out.println("localDateTime_string = " + localDateTime_string);

      // LocalDateTime 转换为 Date
      Date localDateTime_date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());
      System.out.println("localDateTime_date = " + localDateTime_date);

      // LocalDateTime 转换为 时间戳(毫秒数)
      long localDateTime_timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
      System.out.println("localDateTime_timestamp = " + localDateTime_timestamp);

      // 时间戳(毫秒数) 转换为 LocalDateTime
      LocalDateTime timestamp_localDateTime = Instant.ofEpochMilli(localDateTime_timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
      System.out.println("timestamp_localDateTime = " + timestamp_localDateTime);

      // Date 转换为 LocalDateTime
      LocalDateTime date_localDateTime = localDateTime_date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
      System.out.println("date_localDateTime = " + date_localDateTime);

      // String 转换为 LocalDateTime
      LocalDateTime string_localDateTime = LocalDateTime.parse(localDateTime_string, dtf);
      System.out.println("string_localDateTime = " + string_localDateTime);

    } 
  
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java8:LocalDate/ LocalDateTime与String、Date、TimeStamp的互转