private void addICUPatterns(PatternInfo returnInfo, ULocale uLocale) { // first load with the ICU patterns for (int i = DateFormat.FULL; i <= DateFormat.SHORT; ++i) { SimpleDateFormat df = (SimpleDateFormat) DateFormat.getDateInstance(i, uLocale); addPattern(df.toPattern(), false, returnInfo); df = (SimpleDateFormat) DateFormat.getTimeInstance(i, uLocale); addPattern(df.toPattern(), false, returnInfo); if (i == DateFormat.SHORT) { consumeShortTimePattern(df.toPattern(), returnInfo); } } }
public void generateSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException { String pattern = getDateFormat(locale).toPattern(); if (pattern != null) { AttributesImpl attrs = new AttributesImpl(); attrs.addCDATAAttribute("pattern", pattern); attrs.addCDATAAttribute("variant", this.variant); contentHandler.startElement(FormsConstants.INSTANCE_NS, CONVERTOR_EL, FormsConstants.INSTANCE_PREFIX_COLON + CONVERTOR_EL, attrs); contentHandler.endElement(FormsConstants.INSTANCE_NS, CONVERTOR_EL, FormsConstants.INSTANCE_PREFIX_COLON + CONVERTOR_EL); } } }
private final StringBuffer fallbackFormat(Calendar fromCalendar, Calendar toCalendar, boolean fromToOnSameDay, StringBuffer appendTo, FieldPosition pos, String fullPattern) { String originalPattern = fDateFormat.toPattern(); fDateFormat.applyPattern(fullPattern); fallbackFormat(fromCalendar, toCalendar, fromToOnSameDay, appendTo, pos); fDateFormat.applyPattern(originalPattern); return appendTo; }
throw new IllegalArgumentException("Can't create SimpleDateFormat for date style"); fDatePattern = fDateTimeFormat.toPattern(); if (fTimeStyle != DateFormat.NONE) { newStyle = fTimeStyle & ~DateFormat.RELATIVE; df = DateFormat.getTimeInstance(newStyle, locale); if (df instanceof SimpleDateFormat) { fTimePattern = ((SimpleDateFormat)df).toPattern(); throw new IllegalArgumentException("Can't create SimpleDateFormat for time style"); fTimePattern = fDateTimeFormat.toPattern();
/** * Retrieve the default hour format character for the supplied locale. * * @param locale * the locale * @return the hour format character * @see <a href="http://bugs.icu-project.org/trac/ticket/9997">ICU bug 9997</a> */ private static char defaultHourFormat(ULocale locale) { // Use short time format, just as ICU4J does internally. And as suggested in // <http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems>. SimpleDateFormat df = (SimpleDateFormat) DateFormat.getTimeInstance(DateFormat.SHORT, locale); Skeleton skeleton = Skeleton.fromPattern(df.toPattern()); if (skeleton.has(DateField.Hour)) { return skeleton.getSymbol(DateField.Hour); } return 'H'; }
private void initializePattern(ICUCache<String, Map<String, PatternInfo>> cache) { String fullPattern = fDateFormat.toPattern(); ULocale locale = fDateFormat.getLocale(); String key = null; Map<String, PatternInfo> patterns = null; if (cache != null) { if ( fSkeleton != null ) { key = locale.toString() + "+" + fullPattern + "+" + fSkeleton; } else { key = locale.toString() + "+" + fullPattern; } patterns = cache.get(key); } if (patterns == null) { Map<String, PatternInfo> intervalPatterns = initializeIntervalPattern(fullPattern, locale); patterns = Collections.unmodifiableMap(intervalPatterns); if (cache != null) { cache.put(key, patterns); } } fIntervalPatterns = patterns; }
fullPattern = fDateFormat.toPattern(); // save current pattern, restore later fDateFormat.applyPattern(fTimePattern);
new PatternInfo(fDateFormat.toPattern(), null, fInfo.getDefaultOrder());
String originalPattern = fDateFormat.toPattern(); fDateFormat.applyPattern(intervalPattern.getFirstPart()); fDateFormat.format(firstCal, appendTo, pos);