![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Firex |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Собственно после установки вин7 и jre7 обнаружилось следующее:
Имеет вот такой вывод:
Кто-нибудь сталкивался с таким/может подсказать что делаю не правильно? |
||||
|
|||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Основная ошибка в том, что ты так и не сказал, что ты пытаешься получить. Подозреваю, что тебе надо у DateFormat вызывать setCalendar(). Плюс надо понять один простой момент, что Java time это количество миллисекунд прошедших с 01.01.1970 00:00:00.000 UTC, Java time не содержит в себе таймзону. Таймзону содержит календарь и используется она чтобы из этих миллисекунд, получить часы, минут, дни и т.д. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Firex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Получается, что по дефорлту у меня в каледаре стоит Азия, и эта таймзона не меняется. setTimeZone ничего не делает. Раньше по-моему работало. Я хочу получить дату и время, которые стоят на моей системе. Т.е. Europe/Minsk timezone. И, желательно, что бы моя таймзона бралась по дэфолту при вызове Calendar.getInstance(), т.е. таймзона системы.
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Все меняется, просто ты посмотри у кого ты вызываешь setTimeZone(). Именно так и происходит. Если у тебя по умолчанию используется какая-то левая зона, это значит ты ее переопределил. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Firex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Хорошо, а когда я явно в метод getInstance календаря передаю TimeZone.getTimeZone("GMT+1"), не должно ли возвращаться время в таймзоне GMT+1, даже если дэфолтная таймзона Азия ? И тогда ещё вопрос, как переопределить обратно? ) Т.е. что бы при вызове getInstance() мне возвращался календарь сегодняшнего дня в зоне Europe/Minsk. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Именно так и происходит. Еще раз: Между DateFormat и калнедарем передается именно Java time. Поэтому вывод DateFormat ником образом не аффектится таймзоной календаря. Исправь код:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Firex |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
![]()
вывод:
Что нужно сделать, что бы по дэфолту время выводилось во временной зоне моей системы(Europe/Minsk) ? ![]() Добавлено через 14 минут и 9 секунд
и вывод:
Что-то не работает. |
||||||||
|
|||||||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
|
|||
|
||||
Firex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Спасибо, господа, за уделённое время, проблема по-моему найдена.
Всё дело в кривой IDE - STS 2.9, в STS 3.1 по-моему работает как и должно быть. Да, однозначно, в 3.1 работает как и положено.
Выводит то время, как и задумывалось - в таймзоне системы. Это сообщение отредактировал(а) Firex - 26.12.2012, 23:14 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |