Конвертировать дату UTC в местный часовой пояс JSP - PullRequest
0 голосов
/ 02 марта 2012

У меня есть переменная, которая хранит данные дата-время UTC из базы данных.Я хочу сделать это в формате Local datetime, могу ли я это сделать?

, например:

Date dateFromDB = getfromDB ();

dateFromDB = UTCtoLocalTimezone (dateFromDB);

Какой код в методе UTCtoLocalTimezone?

Или у вас есть лучшее решение?большое спасибо!

1 Ответ

1 голос
/ 02 марта 2012

Лично я бы использовал Joda Time :

DateTimeZone zone = ...;
DateTime dateTime = new DateTime(date.getTime(), zone);

Joda Time - намного лучший API для даты и времени, чем встроенный, но он тоже будет работать:

TimeZone zone = ...;
Calendar calendar = Calendar.getInstance(zone);
calendar.setTime(date);

Я не будет использовать (не рекомендуется) конструктор Date. Во-первых, он не делает то, что, как вы думаете, он делает ... это:

 new Date(2012,03,02,11,30,0);

создает значение, представляющее 2 февраля в году 3912 ...

Это не будет проблемой, если вы извлекаете Date из базы данных, но, очевидно, это повлияет на юнит-тестирование. Вы действительно должны избегать всех осуждаемых членов Date - они устарели по уважительной причине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...