powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Calendar и TimeZone
4 сообщений из 4, страница 1 из 1
Calendar и TimeZone
    #38857462
artemius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте!

Использую Calendar, задаю ему часовой пояс UTC и добавляю несколько минут. Время определяется коректно. Затем получаю timeInMillis, передаю полученное значение в java.sql.Timestamp и получаю снова время с учетом текущего часового пояса.

Как получить корректное значение timeInMillis?

Спасибо!
...
Рейтинг: 0 / 0
Calendar и TimeZone
    #38857472
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Время в Timestamp хранится без таймзоны, хранится по сути количество миллисекунд от 1970-00-00 по GMT. Так что получаете вы вполне корректное значение.

Что в вашем случае "корректное значение"? может быть вам нужно просто установить корректную таймзону у DateFormat и использовать ее для вывода даты, а не toString() или что там у вас?
...
Рейтинг: 0 / 0
Calendar и TimeZone
    #38857477
artemius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в том, почему приведя Calendar к UTC (при отладке я вижу, что значения Calendar.HOUR_OF_DAY и т.д. соответствуют часовому поясу UTC) в Timestamp я получаю снова локальное время с учетом смещения текущего часового пояса?

Пример:

Calendar dateCurrent = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
Timestamp time = new Timestamp(dateCurrent.getTimeInMillis());

в time значение видим текущее локально время, а не UTC
...
Рейтинг: 0 / 0
Calendar и TimeZone
    #38857489
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У календаря есть информация о таймзоне, которую вы указали, и дату на смещение этих миллисекунд он показывать в этой таймзоне (т.е. в UTC), у Timestamp этой информации нету, и показывает он это же смещение в default таймзоне (вероятно в какой запускается jvm), но по факту момент времени они показывают один и тот же, просто в разных таймзонах время на часах разное
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Calendar и TimeZone
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]