in packages/stunner-editors/errai-common/src/main/java/org/jboss/errai/common/client/logging/util/StringFormat.java [252:362]
private static String processDate(Date date, boolean upper, char suffix) {
String retVal = null;
switch (suffix) {
case 'k':
retVal = String.valueOf(date.getHours());
break;
case 'H':
retVal = String.valueOf(padInt(date.getHours(), 2));
break;
case 'l':
retVal = String.valueOf(date.getHours() % 12);
break;
case 'I':
retVal = String.valueOf(padInt(date.getHours() % 12, 2));
break;
case 'M':
retVal = String.valueOf(padInt(date.getMinutes(), 2));
break;
case 'S':
retVal = String.valueOf(padInt(date.getSeconds(), 2));
break;
case 'L':
retVal = String.valueOf(padInt((int) (date.getTime() % 1000), 3));
break;
case 'N':
retVal = String.valueOf(padInt((int) ((date.getTime() % 1000) * 1000000), 9));
break;
case 'p':
retVal = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().ampms()[date.getHours() / 12];
break;
case 's':
retVal = String.valueOf(date.getTime() / 1000);
break;
case 'Q':
retVal = String.valueOf(date.getTime());
break;
case 'C':
retVal = String.valueOf(padInt((date.getYear() + 1900) / 100, 2));
break;
case 'Y':
retVal = String.valueOf(padInt(date.getYear() + 1900, 4));
break;
case 'y':
retVal = String.valueOf(padInt(date.getYear() % 100, 2));
break;
case 'j':
final Date lastYear = new Date(date.getTime());
lastYear.setYear(date.getYear() - 1);
lastYear.setMonth(11);
lastYear.setDate(31);
retVal = String.valueOf(padInt(CalendarUtil.getDaysBetween(lastYear, date), 3));
break;
case 'z':
retVal = TimeZone.createTimeZone(date.getTimezoneOffset()).getRFCTimeZoneString(date);
break;
case 'm':
retVal = String.valueOf(padInt(date.getMonth() + 1, 2));
break;
case 'd':
retVal = String.valueOf(padInt(date.getDate(), 2));
break;
case 'e':
retVal = String.valueOf(date.getDate());
break;
case 'R':
retVal = processDate(date, false, 'H') + ":" + processDate(date, false, 'M');
break;
case 'T':
retVal = processDate(date, false, 'R') + ":" + processDate(date, false, 'S');
break;
case 'r':
retVal = processDate(date, false, 'I') + ":" + processDate(date, false, 'M') + ":" + processDate(date, upper, 'S')
+ " " + processDate(date, true, 'p');
break;
case 'D':
retVal = processDate(date, false, 'm') + "/" + processDate(date, false, 'd') + "/" + processDate(date, false, 'y');
break;
case 'F':
retVal = processDate(date, false, 'Y') + "-" + processDate(date, false, 'm') + "-" + processDate(date, false, 'd');
break;
case 'Z':
retVal = TimeZone.createTimeZone(date.getTimezoneOffset()).getShortName(date);
break;
case 'B':
retVal = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().monthsFull()[date.getMonth()];
break;
case 'b':
case 'h':
retVal = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().monthsShort()[date.getMonth()];
break;
case 'A':
retVal = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().weekdaysFull()[date.getDay()];
break;
case 'a':
retVal = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo().weekdaysShort()[date.getDay()];
break;
case 'c':
retVal = processDate(date, false, 'a') + " " + processDate(date, false, 'b') + " " + processDate(date, false, 'd')
+ " " + processDate(date, false, 'T') + " " + processDate(date, false, 'Z') + " "
+ processDate(date, false, 'Y');
break;
default:
throw new IllegalArgumentException("Invalid date suffix: " + suffix);
}
if (upper)
return retVal.toUpperCase();
else
return retVal;
}