< prev index next >

src/java.base/share/classes/java/text/SimpleDateFormat.java

Print this page
rev 53363 : imported patch 8216969

*** 1,7 **** /* ! * Copyright (c) 1996, 2018, 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) 1996, 2019, 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
*** 1187,1197 **** maxIntCount, buffer); } } break; ! case PATTERN_MONTH: // 'M' (context seinsive) if (useDateFormatSymbols) { String[] months; if (count >= 4) { months = formatData.getMonths(); current = months[value]; --- 1187,1197 ---- maxIntCount, buffer); } } break; ! case PATTERN_MONTH: // 'M' (context sensitive) if (useDateFormatSymbols) { String[] months; if (count >= 4) { months = formatData.getMonths(); current = months[value];
*** 2031,2041 **** if ((index = matchString(text, start, Calendar.MONTH, formatData.getShortMonths(), calb)) > 0) { return index; } } else { ! Map<String, Integer> map = getDisplayNamesMap(field, locale); if ((index = matchString(text, start, field, map, calb)) > 0) { return index; } } break parsing; --- 2031,2041 ---- if ((index = matchString(text, start, Calendar.MONTH, formatData.getShortMonths(), calb)) > 0) { return index; } } else { ! Map<String, Integer> map = getDisplayContextNamesMap(field, locale); if ((index = matchString(text, start, field, map, calb)) > 0) { return index; } } break parsing;
*** 2447,2456 **** --- 2447,2469 ---- } } return map; } + // for 'M' pattern only + private Map<String, Integer> getDisplayContextNamesMap(int field, Locale locale) { + Map<String, Integer> map = calendar.getDisplayNames(field, + Calendar.SHORT_FORMAT | (forceStandaloneForm ? 0x8000 : 0), locale); + // Get LONG styles + Map<String, Integer> m = calendar.getDisplayNames(field, + Calendar.LONG_FORMAT | (forceStandaloneForm ? 0x8000 : 0), locale); + if (m != null) { + map.putAll(m); + } + return map; + } + /** * After reading an object from the input stream, the format * pattern in the object is verified. * * @exception InvalidObjectException if the pattern is invalid
< prev index next >