With Java 1.8.0_51 the following code (taken from Unable to obtain OffsetDateTime from TemporalAccessor)
DateTimeFormatter formatter = DateTimeFormatter.ofPa         
        
The Java 8 java.time.* package is a very strict package. It doesn't allow flexibility between types and inputs - if you want a ZonedDateTime object, you must construct it from an input that has a time zone, a date & a time.
If you want to use just a date to construct an object it has to be of a type that doesn't have a time field, specifically, LocalDate.