The atStartOfDay() method of LocalDate class in Java is combines this date with the time of midnight to create a LocalDateTime at the start of this date. Syntax:
public ZonedDateTime atStartOfDay(ZoneId zone)
Parameter: This method accepts a parameter zone which is the zone ID to be used and not necessary null. The parameter is not mandatory. Return Value: It returns the local date-time of midnight at the start of this date, not null. Below programs illustrate the atStartOfDay() method of LocalDate in Java: Program 1:Â
Java
// Program to illustrate the atStartOfDay() methodÂ
import java.util.*;import java.time.*;Â
public class GfG {    public static void main(String[] args)    {        // parses the local date        LocalDate dt = LocalDate.parse("2019-11-01");        System.out.println(dt);Â
        // Function call        LocalDateTime dt1 = dt.atStartOfDay();        System.out.println(dt1);    }} |
2019-11-01 2019-11-01T00:00
Program 2: Program with parameters.Â
Java
// Program to illustrate the atStartOfDay() methodÂ
import java.util.*;import java.time.*;Â
public class GfG {Â Â Â Â public static void main(String[] args)Â Â Â Â {Â
        // parses the local date        LocalDate dt = LocalDate.parse("2018-01-20");        System.out.println(dt);Â
        // Function call        ZonedDateTime dt1 = dt.atStartOfDay(ZoneId.systemDefault());        System.out.println(dt1);    }} |
2018-01-20 2018-01-20T00:00Z[Etc/UTC]
Reference: https://docs.oracle.com/javase/10/docs/api/java/time/LocalDate.html#atStartOfDay()
