Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
public Date localTimeToUTC(final Date localTime) {
final DateFormat format = DateFormat.getDateTimeInstance();
format.setTimeZone(UTC);
// This is a bit of a trick. Since Java assumes dates are in UTC,
// but localTime is not (blame the weird legacy database...),
// it's a semantically incorrect Date. Therefore we process it as
// if it's in UTC...
final String formatted = format.format(localTime);
format.setTimeZone(localTimeZone);
try {
return format.parse(formatted);
} catch (final ParseException e) {
throw new AssertionError(e); // cannot happen
}
}
И вновь издержки обратной совместимости. Китайские кулибины хранили DateTime в старой базе в локальном часовом поясе.
Нельзя. С ней ещё работает старое приложение. Вот выбросят его вместе со старой базой - тогда пожалуйста. (И всё равно одним запросом не получилось бы, ибо летнее время.)
> ибо летнее время
Это зависит. Oracle справилось бы, например. А то можно представление с вычисляемой колонкой создать и пусть старый говнокод наслаждается локальным временем
разумеется, ведь Китай - Поднебесная, Центр Мира
Это зависит. Oracle справилось бы, например. А то можно представление с вычисляемой колонкой создать и пусть старый говнокод наслаждается локальным временем