在本指南中,我们将了解如何将 LocalDate 转换为 Date。在查看转换代码之前,让我们先看看 Date 和 LocalDate 之间有什么区别。

java.util.Date - date + time + timezone
java.time.LocalDate - only date

因此,要将 LocalDate 转换为 Date,我们必须在日期后附加时间和时区信息。考虑到这一点,转换步骤如下:

  1. 获取默认时区,以便在日期中附加时区信息
  2. 调用 atStartOfDay(),以便将时间与日期附加在一起
  3. LocalDate to Date - local date + atStartOfDay() + 默认时区(default time zone) + toInstant() = Date

LocalDate to Date conversion

import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class Example {
   public static void main(String[] args) {
    //default time zone
    ZoneId defaultZoneId = ZoneId.systemDefault();
        
    //creating the instance of LocalDate using the day, month, year info
        LocalDate localDate = LocalDate.of(2016, 8, 19);
        
        //local date + atStartOfDay() + default time zone + toInstant() = Date
        Date date = Date.from(localDate.atStartOfDay(defaultZoneId).toInstant());
        
        //Displaying LocalDate and Date
        System.out.println("LocalDate is: " + localDate);
        System.out.println("Date is: " + date);
   }
}

Output:

LocalDate is: 2016-08-19
Date is: Fri Aug 19 00:00:00 IST 2016

Related Posts:

  1. Java LocalDate
  2. Java – Convert Date to LocalDate

https://beginnersbook.com/2017/10/java-convert-localdate-to-date/

标签: 副本

添加新评论