2016-10-10 1 views
2

Я получаю ISO8601 время от клиента, превращая его в UTC, и сохранить его в качестве временной метки на сервере AWS EC2 с DateTimeZone следующимJava часовой пояс и AWS EC2

DateTime groupExpectedDate = sentGroup_expected_date_time.withZone(cityTimezone); 

    Timestamp groupExpectedDateTimestamp = new Timestamp(groupExpectedDate.getMillis()); 

, когда я запустить код на моем локальном сервере, время назначается правильно для этого конкретного города. Однако, когда я нажимаю сервер AWS EC2, времена ошибочны. Есть ли конфигурация на AWS EC2, которую я должен выполнять?

+0

Я бы добавил несколько журналов, чтобы узнать, в какой момент он начинает отличаться от вашего локального компьютера. Я предполагаю, что в какой-то момент используется системный часовой пояс, а настройка часового пояса на сервере AWS отличается от вашего локального сервера. Нет ничего «специального для EC2», который бы это сделал. Сервер EC2 - это просто сервер Linux. –

+0

Какой тип объекта 'sentGroup_expected_date_time'? – gvasquez

ответ

0

Вы должны установить Timezone последовательно через серверы среды, либо заставляя Locale в Java коде, или установить часовой пояс в вашей основной ОС (что не указано в вашем вопросе)

Какой Timestamp класс вы используете? Один от java.sql.Timestamp или другой?