< prev index next >

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

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 88,97 **** --- 88,98 ---- import java.time.chrono.Era; import java.time.chrono.IsoChronology; import java.time.format.DateTimeTextProvider.LocaleStore; import java.time.temporal.ChronoField; import java.time.temporal.IsoFields; + import java.time.temporal.JulianFields; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; import java.time.temporal.TemporalQueries; import java.time.temporal.TemporalQuery; import java.time.temporal.ValueRange;
*** 1366,1375 **** --- 1367,1377 ---- * u year year 2004; 04 * y year-of-era year 2004; 04 * D day-of-year number 189 * M/L month-of-year number/text 7; 07; Jul; July; J * d day-of-month number 10 + * g modified-julian-day number 2451334 * * Q/q quarter-of-year number/text 3; 03; Q3; 3rd quarter * Y week-based-year year 1996; 96 * w week-of-week-based-year number 27 * W week-of-month number 4
*** 1391,1403 **** * N nano-of-day number 1234000000 * * V time-zone ID zone-id America/Los_Angeles; Z; -08:30 * z time-zone name zone-name Pacific Standard Time; PST * O localized zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00; ! * X zone-offset 'Z' for zero offset-X Z; -08; -0830; -08:30; -083015; -08:30:15; ! * x zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15; ! * Z zone-offset offset-Z +0000; -0800; -08:00; * * p pad next pad modifier 1 * * ' escape for text delimiter * '' single quote literal ' --- 1393,1405 ---- * N nano-of-day number 1234000000 * * V time-zone ID zone-id America/Los_Angeles; Z; -08:30 * z time-zone name zone-name Pacific Standard Time; PST * O localized zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00; ! * X zone-offset 'Z' for zero offset-X Z; -08; -0830; -08:30; -083015; -08:30:15 ! * x zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15 ! * Z zone-offset offset-Z +0000; -0800; -08:00 * * p pad next pad modifier 1 * * ' escape for text delimiter * '' single quote literal '
*** 1420,1460 **** * GG 2 appendText(ChronoField.ERA, TextStyle.SHORT) * GGG 3 appendText(ChronoField.ERA, TextStyle.SHORT) * GGGG 4 appendText(ChronoField.ERA, TextStyle.FULL) * GGGGG 5 appendText(ChronoField.ERA, TextStyle.NARROW) * ! * u 1 appendValue(ChronoField.YEAR, 1, 19, SignStyle.NORMAL); ! * uu 2 appendValueReduced(ChronoField.YEAR, 2, 2000); ! * uuu 3 appendValue(ChronoField.YEAR, 3, 19, SignStyle.NORMAL); ! * u..u 4..n appendValue(ChronoField.YEAR, n, 19, SignStyle.EXCEEDS_PAD); ! * y 1 appendValue(ChronoField.YEAR_OF_ERA, 1, 19, SignStyle.NORMAL); ! * yy 2 appendValueReduced(ChronoField.YEAR_OF_ERA, 2, 2000); ! * yyy 3 appendValue(ChronoField.YEAR_OF_ERA, 3, 19, SignStyle.NORMAL); ! * y..y 4..n appendValue(ChronoField.YEAR_OF_ERA, n, 19, SignStyle.EXCEEDS_PAD); * Y 1 append special localized WeekFields element for numeric week-based-year ! * YY 2 append special localized WeekFields element for reduced numeric week-based-year 2 digits; ! * YYY 3 append special localized WeekFields element for numeric week-based-year (3, 19, SignStyle.NORMAL); ! * Y..Y 4..n append special localized WeekFields element for numeric week-based-year (n, 19, SignStyle.EXCEEDS_PAD); * ! * Q 1 appendValue(IsoFields.QUARTER_OF_YEAR); ! * QQ 2 appendValue(IsoFields.QUARTER_OF_YEAR, 2); * QQQ 3 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.SHORT) * QQQQ 4 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.FULL) * QQQQQ 5 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.NARROW) ! * q 1 appendValue(IsoFields.QUARTER_OF_YEAR); ! * qq 2 appendValue(IsoFields.QUARTER_OF_YEAR, 2); * qqq 3 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.SHORT_STANDALONE) * qqqq 4 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.FULL_STANDALONE) * qqqqq 5 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.NARROW_STANDALONE) * ! * M 1 appendValue(ChronoField.MONTH_OF_YEAR); ! * MM 2 appendValue(ChronoField.MONTH_OF_YEAR, 2); * MMM 3 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.SHORT) * MMMM 4 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.FULL) * MMMMM 5 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.NARROW) ! * L 1 appendValue(ChronoField.MONTH_OF_YEAR); ! * LL 2 appendValue(ChronoField.MONTH_OF_YEAR, 2); * LLL 3 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.SHORT_STANDALONE) * LLLL 4 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.FULL_STANDALONE) * LLLLL 5 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.NARROW_STANDALONE) * * w 1 append special localized WeekFields element for numeric week-of-year --- 1422,1462 ---- * GG 2 appendText(ChronoField.ERA, TextStyle.SHORT) * GGG 3 appendText(ChronoField.ERA, TextStyle.SHORT) * GGGG 4 appendText(ChronoField.ERA, TextStyle.FULL) * GGGGG 5 appendText(ChronoField.ERA, TextStyle.NARROW) * ! * u 1 appendValue(ChronoField.YEAR, 1, 19, SignStyle.NORMAL) ! * uu 2 appendValueReduced(ChronoField.YEAR, 2, 2000) ! * uuu 3 appendValue(ChronoField.YEAR, 3, 19, SignStyle.NORMAL) ! * u..u 4..n appendValue(ChronoField.YEAR, n, 19, SignStyle.EXCEEDS_PAD) ! * y 1 appendValue(ChronoField.YEAR_OF_ERA, 1, 19, SignStyle.NORMAL) ! * yy 2 appendValueReduced(ChronoField.YEAR_OF_ERA, 2, 2000) ! * yyy 3 appendValue(ChronoField.YEAR_OF_ERA, 3, 19, SignStyle.NORMAL) ! * y..y 4..n appendValue(ChronoField.YEAR_OF_ERA, n, 19, SignStyle.EXCEEDS_PAD) * Y 1 append special localized WeekFields element for numeric week-based-year ! * YY 2 append special localized WeekFields element for reduced numeric week-based-year 2 digits ! * YYY 3 append special localized WeekFields element for numeric week-based-year (3, 19, SignStyle.NORMAL) ! * Y..Y 4..n append special localized WeekFields element for numeric week-based-year (n, 19, SignStyle.EXCEEDS_PAD) * ! * Q 1 appendValue(IsoFields.QUARTER_OF_YEAR) ! * QQ 2 appendValue(IsoFields.QUARTER_OF_YEAR, 2) * QQQ 3 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.SHORT) * QQQQ 4 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.FULL) * QQQQQ 5 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.NARROW) ! * q 1 appendValue(IsoFields.QUARTER_OF_YEAR) ! * qq 2 appendValue(IsoFields.QUARTER_OF_YEAR, 2) * qqq 3 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.SHORT_STANDALONE) * qqqq 4 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.FULL_STANDALONE) * qqqqq 5 appendText(IsoFields.QUARTER_OF_YEAR, TextStyle.NARROW_STANDALONE) * ! * M 1 appendValue(ChronoField.MONTH_OF_YEAR) ! * MM 2 appendValue(ChronoField.MONTH_OF_YEAR, 2) * MMM 3 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.SHORT) * MMMM 4 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.FULL) * MMMMM 5 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.NARROW) ! * L 1 appendValue(ChronoField.MONTH_OF_YEAR) ! * LL 2 appendValue(ChronoField.MONTH_OF_YEAR, 2) * LLL 3 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.SHORT_STANDALONE) * LLLL 4 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.FULL_STANDALONE) * LLLLL 5 appendText(ChronoField.MONTH_OF_YEAR, TextStyle.NARROW_STANDALONE) * * w 1 append special localized WeekFields element for numeric week-of-year
*** 1464,1473 **** --- 1466,1476 ---- * dd 2 appendValue(ChronoField.DAY_OF_MONTH, 2) * D 1 appendValue(ChronoField.DAY_OF_YEAR) * DD 2 appendValue(ChronoField.DAY_OF_YEAR, 2) * DDD 3 appendValue(ChronoField.DAY_OF_YEAR, 3) * F 1 appendValue(ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH) + * g..g 1..n appendValue(JulianFields.MODIFIED_JULIAN_DAY, n, 19, SignStyle.NORMAL) * E 1 appendText(ChronoField.DAY_OF_WEEK, TextStyle.SHORT) * EE 2 appendText(ChronoField.DAY_OF_WEEK, TextStyle.SHORT) * EEE 3 appendText(ChronoField.DAY_OF_WEEK, TextStyle.SHORT) * EEEE 4 appendText(ChronoField.DAY_OF_WEEK, TextStyle.FULL) * EEEEE 5 appendText(ChronoField.DAY_OF_WEEK, TextStyle.NARROW)
*** 1522,1533 **** * <p> * <b>Zone offset</b>: Pattern letters to output {@code ZoneOffset}. * <pre> * Pattern Count Equivalent builder methods * ------- ----- -------------------------- ! * O 1 appendLocalizedOffsetPrefixed(TextStyle.SHORT); ! * OOOO 4 appendLocalizedOffsetPrefixed(TextStyle.FULL); * X 1 appendOffset("+HHmm","Z") * XX 2 appendOffset("+HHMM","Z") * XXX 3 appendOffset("+HH:MM","Z") * XXXX 4 appendOffset("+HHMMss","Z") * XXXXX 5 appendOffset("+HH:MM:ss","Z") --- 1525,1536 ---- * <p> * <b>Zone offset</b>: Pattern letters to output {@code ZoneOffset}. * <pre> * Pattern Count Equivalent builder methods * ------- ----- -------------------------- ! * O 1 appendLocalizedOffsetPrefixed(TextStyle.SHORT) ! * OOOO 4 appendLocalizedOffsetPrefixed(TextStyle.FULL) * X 1 appendOffset("+HHmm","Z") * XX 2 appendOffset("+HHMM","Z") * XXX 3 appendOffset("+HH:MM","Z") * XXXX 4 appendOffset("+HHMMss","Z") * XXXXX 5 appendOffset("+HH:MM:ss","Z")
*** 1537,1547 **** * xxxx 4 appendOffset("+HHMMss","+0000") * xxxxx 5 appendOffset("+HH:MM:ss","+00:00") * Z 1 appendOffset("+HHMM","+0000") * ZZ 2 appendOffset("+HHMM","+0000") * ZZZ 3 appendOffset("+HHMM","+0000") ! * ZZZZ 4 appendLocalizedOffset(TextStyle.FULL); * ZZZZZ 5 appendOffset("+HH:MM:ss","Z") * </pre> * <p> * <b>Modifiers</b>: Pattern letters that modify the rest of the pattern: * <pre> --- 1540,1550 ---- * xxxx 4 appendOffset("+HHMMss","+0000") * xxxxx 5 appendOffset("+HH:MM:ss","+00:00") * Z 1 appendOffset("+HHMM","+0000") * ZZ 2 appendOffset("+HHMM","+0000") * ZZZ 3 appendOffset("+HHMM","+0000") ! * ZZZZ 4 appendLocalizedOffset(TextStyle.FULL) * ZZZZZ 5 appendOffset("+HH:MM:ss","Z") * </pre> * <p> * <b>Modifiers</b>: Pattern letters that modify the rest of the pattern: * <pre>
*** 1819,1828 **** --- 1822,1834 ---- appendValue(field, count); } else { throw new IllegalArgumentException("Too many pattern letters: " + cur); } break; + case 'g': + appendValue(field, count, 19, SignStyle.NORMAL); + break; default: if (count == 1) { appendValue(field); } else { appendValue(field, count);
*** 1857,1877 **** FIELD_MAP.put('s', ChronoField.SECOND_OF_MINUTE); // SDF, LDML FIELD_MAP.put('S', ChronoField.NANO_OF_SECOND); // LDML (SDF uses milli-of-second number) FIELD_MAP.put('A', ChronoField.MILLI_OF_DAY); // LDML FIELD_MAP.put('n', ChronoField.NANO_OF_SECOND); // 310 (proposed for LDML) FIELD_MAP.put('N', ChronoField.NANO_OF_DAY); // 310 (proposed for LDML) // 310 - z - time-zone names, matches LDML and SimpleDateFormat 1 to 4 // 310 - Z - matches SimpleDateFormat and LDML // 310 - V - time-zone id, matches LDML // 310 - p - prefix for padding // 310 - X - matches LDML, almost matches SDF for 1, exact match 2&3, extended 4&5 // 310 - x - matches LDML // 310 - w, W, and Y are localized forms matching LDML // LDML - U - cycle year name, not supported by 310 yet // LDML - l - deprecated // LDML - j - not relevant - // LDML - g - modified-julian-day // LDML - v,V - extended time-zone names } //----------------------------------------------------------------------- /** --- 1863,1883 ---- FIELD_MAP.put('s', ChronoField.SECOND_OF_MINUTE); // SDF, LDML FIELD_MAP.put('S', ChronoField.NANO_OF_SECOND); // LDML (SDF uses milli-of-second number) FIELD_MAP.put('A', ChronoField.MILLI_OF_DAY); // LDML FIELD_MAP.put('n', ChronoField.NANO_OF_SECOND); // 310 (proposed for LDML) FIELD_MAP.put('N', ChronoField.NANO_OF_DAY); // 310 (proposed for LDML) + FIELD_MAP.put('g', JulianFields.MODIFIED_JULIAN_DAY); // 310 - z - time-zone names, matches LDML and SimpleDateFormat 1 to 4 // 310 - Z - matches SimpleDateFormat and LDML // 310 - V - time-zone id, matches LDML // 310 - p - prefix for padding // 310 - X - matches LDML, almost matches SDF for 1, exact match 2&3, extended 4&5 // 310 - x - matches LDML // 310 - w, W, and Y are localized forms matching LDML // LDML - U - cycle year name, not supported by 310 yet // LDML - l - deprecated // LDML - j - not relevant // LDML - v,V - extended time-zone names } //----------------------------------------------------------------------- /**
< prev index next >