06-03-2013, 01:09 PM
ALF. Написал:ой сори, не то увидел. Всё ок.
п.с. затераю свой преыдущий текст Кто успел прочитать - тот поймет с чем я затупил)
в случае с String.format("%1$tH:%1$tM:%1$tS %2s %3s %4s %5s%n"
Будет использоваться другой метод (может ошибаюсь, копаться особо не охота):
java.util.Formatter.FormatSpecifier#printDateTime
[SRC="java"] private void printDateTime(Object arg, Locale l) throws IOException {
if (arg == null) {
print("null");
return;
}
Calendar cal = null;
// Instead of Calendar.setLenient(true), perhaps we should
// wrap the IllegalArgumentException that might be thrown?
if (arg instanceof Long) {
// Note that the following method uses an instance of the
// default time zone (TimeZone.getDefaultRef().
cal = Calendar.getInstance(l == null ? Locale.US : l);
cal.setTimeInMillis((Long)arg);
} else if (arg instanceof Date) {
// Note that the following method uses an instance of the
// default time zone (TimeZone.getDefaultRef().
cal = Calendar.getInstance(l == null ? Locale.US : l);
cal.setTime((Date)arg);
} else if (arg instanceof Calendar) {
cal = (Calendar) ((Calendar)arg).clone();
cal.setLenient(true);
} else {
failConversion(c, arg);
}
// Use the provided locale so that invocations of
// localizedMagnitude() use optimizations for null.
print(cal, c, l);
}[/SRC]
Который не намного лучше, при чём будет создаваться ещё один Foramter, StringBuilder и ещё куча всего