symbols = new DateFormatSymbols(locale); format = new FastDateFormat(pattern, timeZone, locale, symbols); cInstanceCache.put(key, format);
public StringBuffer format(Calendar calendar, StringBuffer buf) { if (mTimeZone != null) { calendar = (Calendar)calendar.clone(); calendar.setTimeZone(mTimeZone); } return applyRules(calendar, buf); }
/** * Formats a Date object to String as defined in XEP-0082. * * The resulting String will have the timezone set to UTC ('Z') and includes milliseconds: * CCYY-MM-DDThh:mm:ss.sssZ * * @param date * @return String */ public static String format(Date date) { return FAST_FORMAT.format(date); } }
public static FastDateFormat getInstance() { return getInstance(getDefaultPattern(), null, null, null); }
String token = parseToken(pattern, indexRef); i = indexRef[0]; rule = selectNumberRule(Calendar.DAY_OF_MONTH, tokenLen); break; case 'h': // hour in am/pm (number, 1..12) rule = new TwelveHourField (selectNumberRule(Calendar.HOUR, tokenLen)); break; case 'H': // hour in day (number, 0..23) rule = selectNumberRule(Calendar.HOUR_OF_DAY, tokenLen); break; case 'm': // minute in hour (number) rule = selectNumberRule(Calendar.MINUTE, tokenLen); break; case 's': // second in minute (number) rule = selectNumberRule(Calendar.SECOND, tokenLen); break; case 'S': // millisecond (number) rule = selectNumberRule(Calendar.MILLISECOND, tokenLen); break; case 'E': // day in week (text) break; case 'D': // day in year (number) rule = selectNumberRule(Calendar.DAY_OF_YEAR, tokenLen); break; case 'F': // day of week in month (number) rule = selectNumberRule
/** * @param pattern {@link java.text.SimpleDateFormat} compatible pattern * @param symbols optional date format symbols, overrides symbols for * system locale */ public static FastDateFormat getInstance (String pattern, DateFormatSymbols symbols) throws IllegalArgumentException { return getInstance(pattern, null, null, symbols); }
TimeZoneRule(TimeZone timeZone, Locale locale, int style) { mTimeZone = timeZone; mLocale = locale; mStyle = style; if (timeZone != null) { mStandard = getTimeZoneDisplay(timeZone, false, style, locale); mDaylight = getTimeZoneDisplay(timeZone, true, style, locale); } else { mStandard = null; mDaylight = null; } }
private FastDateFormat() { this(getDefaultPattern(), null, null, null); }
/** * @param pattern {@link java.text.SimpleDateFormat} compatible pattern * @param timeZone optional time zone, overrides time zone of formatted * date * @param locale optional locale, overrides system locale * @param symbols optional date format symbols, overrides symbols for * provided locale */ private FastDateFormat(String pattern, TimeZone timeZone, Locale locale, DateFormatSymbols symbols) throws IllegalArgumentException { if (locale == null) { locale = Locale.getDefault(); } mPattern = pattern; mTimeZone = timeZone; mLocale = locale; if (symbols == null) { symbols = new DateFormatSymbols(locale); } List rulesList = parse(pattern, timeZone, locale, symbols); mRules = (Rule[])rulesList.toArray(new Rule[rulesList.size()]); int len = 0; for (int i=mRules.length; --i >= 0; ) { len += mRules[i].estimateLength(); } mMaxLengthEstimate = len; }
/** * @param pattern {@link java.text.SimpleDateFormat} compatible pattern * @param timeZone optional time zone, overrides time zone of formatted * date */ public static FastDateFormat getInstance (String pattern, TimeZone timeZone) throws IllegalArgumentException { return getInstance(pattern, timeZone, null, null); }
public static FastDateFormat getInstance() { return getInstance(getDefaultPattern(), null, null, null); }
String token = parseToken(pattern, indexRef); i = indexRef[0]; rule = selectNumberRule(Calendar.DAY_OF_MONTH, tokenLen); break; case 'h': // hour in am/pm (number, 1..12) rule = new TwelveHourField (selectNumberRule(Calendar.HOUR, tokenLen)); break; case 'H': // hour in day (number, 0..23) rule = selectNumberRule(Calendar.HOUR_OF_DAY, tokenLen); break; case 'm': // minute in hour (number) rule = selectNumberRule(Calendar.MINUTE, tokenLen); break; case 's': // second in minute (number) rule = selectNumberRule(Calendar.SECOND, tokenLen); break; case 'S': // millisecond (number) rule = selectNumberRule(Calendar.MILLISECOND, tokenLen); break; case 'E': // day in week (text) break; case 'D': // day in year (number) rule = selectNumberRule(Calendar.DAY_OF_YEAR, tokenLen); break; case 'F': // day of week in month (number) rule = selectNumberRule
@Override public void appendTo(StringBuffer buffer, Calendar calendar) { TimeZone timeZone; if ((timeZone = mTimeZone) != null) { if (timeZone.useDaylightTime() && calendar.get(Calendar.DST_OFFSET) != 0) { buffer.append(mDaylight); } else { buffer.append(mStandard); } } else { timeZone = calendar.getTimeZone(); if (timeZone.useDaylightTime() && calendar.get(Calendar.DST_OFFSET) != 0) { buffer.append(getTimeZoneDisplay (timeZone, true, mStyle, mLocale)); } else { buffer.append(getTimeZoneDisplay (timeZone, false, mStyle, mLocale)); } } } }
private FastDateFormat() { this(getDefaultPattern(), null, null, null); }
/** * @param pattern {@link java.text.SimpleDateFormat} compatible pattern * @param timeZone optional time zone, overrides time zone of formatted * date * @param locale optional locale, overrides system locale * @param symbols optional date format symbols, overrides symbols for * provided locale */ private FastDateFormat(String pattern, TimeZone timeZone, Locale locale, DateFormatSymbols symbols) throws IllegalArgumentException { if (locale == null) { locale = Locale.getDefault(); } mPattern = pattern; mTimeZone = timeZone; mLocale = locale; if (symbols == null) { symbols = new DateFormatSymbols(locale); } List rulesList = parse(pattern, timeZone, locale, symbols); mRules = (Rule[])rulesList.toArray(new Rule[rulesList.size()]); int len = 0; for (int i=mRules.length; --i >= 0; ) { len += mRules[i].estimateLength(); } mMaxLengthEstimate = len; }
/** * @param pattern {@link java.text.SimpleDateFormat} compatible pattern */ public static FastDateFormat getInstance(String pattern) throws IllegalArgumentException { return getInstance(pattern, null, null, null); }
public static FastDateFormat getInstance() { return getInstance(getDefaultPattern(), null, null, null); }
String token = parseToken(pattern, indexRef); i = indexRef[0]; rule = selectNumberRule(Calendar.DAY_OF_MONTH, tokenLen); break; case 'h': // hour in am/pm (number, 1..12) rule = new TwelveHourField (selectNumberRule(Calendar.HOUR, tokenLen)); break; case 'H': // hour in day (number, 0..23) rule = selectNumberRule(Calendar.HOUR_OF_DAY, tokenLen); break; case 'm': // minute in hour (number) rule = selectNumberRule(Calendar.MINUTE, tokenLen); break; case 's': // second in minute (number) rule = selectNumberRule(Calendar.SECOND, tokenLen); break; case 'S': // millisecond (number) rule = selectNumberRule(Calendar.MILLISECOND, tokenLen); break; case 'E': // day in week (text) break; case 'D': // day in year (number) rule = selectNumberRule(Calendar.DAY_OF_YEAR, tokenLen); break; case 'F': // day of week in month (number) rule = selectNumberRule
public String format(Calendar calendar) { return format(calendar, new StringBuffer(mMaxLengthEstimate)) .toString(); }
public StringBuffer format(Date date, StringBuffer buf) { Calendar c = new GregorianCalendar(cDefaultTimeZone); c.setTime(date); if (mTimeZone != null) { c.setTimeZone(mTimeZone); } return applyRules(c, buf); }