Часовые пояса Java: как получить значения времени UTC на основе настроек консоли? - PullRequest
0 голосов
/ 15 апреля 2010

Например, когда я извлекаю из базы данных переменную Date (), она содержит дату со сдвигом «+04: 00». В соответствии с настройками моей локали. Итак, время UTC - "наше время" МИНУС 4 часа.



Затем пользователь сообщает, откуда он. Теперь нам нужно сохранить его / ее смену. Скажем, это -01: 00. И наконец, этот пользователь сообщает нам, куда он / она направляется, скажем, у этого места временной сдвиг +05: 00.

Как мы сохраняем временные сдвиги этого города или места в БД, чтобы в зависимости от того, откуда он / она мы могли бы рассчитать разницу во времени с нашей текущей локалью? Кроме того, свидания спасают светлые вещи, как мы с ними работаем?

1 Ответ

3 голосов
/ 15 апреля 2010

Вы не.

Пока вы используете java.util.Date объекты (или java.sql.Date, или java.sql.Timestamp), база данных будет содержать время UTC, это то, что java.util.Date хранит внутри.

Вам необходимо отформатировать и / или проанализировать эти даты в соответствии с местным часовым поясом. Взгляните на SimpleDateFormat для получения дополнительной информации. Конечно, если у вас есть даты в базе данных, которые вы проанализировали вручную, то вы можете быть SOL.

...