The method atStartOfDay() appends the mid night time(the start of the day time) to the local date. There are two versions of this method.
LocalDateTime atStartOfDay()
: This method returns the LocalDateTime after appending the mid night time at the end of the LocalDate.
ZonedDateTime atStartOfDay(ZoneId zone)
: This method returns the ZonedDateTime after appending the mid night time of the mentioned ZoneID at the end of the LocalDate.
The instance of LocalDate class represents the date without time while the instance of LocalDateTime represents the date with time. In order to convert the LocalDate to LocalDateTime we need to append the time with the date, which we can do by using the atStartOfDay() method of LocalDate class. Similarly the second version of this method can be used to convert LocalDate to ZonedDateTime.
Example: LocalDate atStartOfDay() method
In this example, we have an instance of LocalDate and we are converting it to LocalDateTime using the atStartOfDay() method that appends the midnight time with the LocalDate.
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; public class Example { public static void main(String[] args) { LocalDate localDate = LocalDate.of(2017, 06, 23); System.out.println(localDate); //This method adds mid night time to the date LocalDateTime localDateTime = localDate.atStartOfDay(); System.out.println("LocalDateTime: "+localDateTime); //Adding the midnight time of the default zone id to the LocalDate ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); System.out.println("ZonedDateTime: "+zonedDateTime); } }
Output:
2017-06-23 LocalDateTime: 2017-06-23T00:00 ZonedDateTime: 2017-06-23T00:00+05:30[Asia/Kolkata]
Leave a Reply