< prev index next >

src/java.base/share/classes/java/time/format/DateTimeFormatter.java

Print this page

        

*** 78,87 **** --- 78,88 ---- import java.text.ParsePosition; import java.time.DateTimeException; import java.time.Period; import java.time.ZoneId; import java.time.ZoneOffset; + import java.time.chrono.ChronoLocalDateTime; import java.time.chrono.Chronology; import java.time.chrono.IsoChronology; import java.time.format.DateTimeFormatterBuilder.CompositePrinterParser; import java.time.temporal.ChronoField; import java.time.temporal.IsoFields;
*** 471,480 **** --- 472,492 ---- * date and/or time that was resolved. Thus, an earlier stage would resolve * (year + month + day-of-month) to a date, and this stage would check that * day-of-week was valid for the date. * <li>If an {@linkplain #parsedExcessDays() excess number of days} * was parsed then it is added to the date if a date is available. + * <li> If a second-based field is present, but {@code LocalTime} was not parsed, + * then the resolver ensures that milli, micro and nano second values are + * available to meet the contract of {@link ChronoField}. + * These will be set to zero if missing. + * <li>If both date and time were parsed and either an offset or zone is present, + * the field {@link ChronoField#INSTANT_SECONDS} is created. + * If an offset was parsed then the offset will be combined with the + * {@code LocalDateTime} to form the instant, with any zone ignored. + * If a {@code ZoneId} was parsed without an offset then the zone will be + * combined with the {@code LocalDateTime} to form the instant using the rules + * of {@link ChronoLocalDateTime#atZone(ZoneId)}. * </ol> * * @implSpec * This class is immutable and thread-safe. *
< prev index next >