Часовой пояс Java и AWS EC2

#java #amazon-web-services #timezone

#java #amazon-веб-сервисы #Часовой пояс

Вопрос:

Я получаю время ISO8601 от клиента, преобразую его в UTC и сохраняю его как временную метку на сервере AWS EC2 с указанием даты и времени следующим образом

     DateTime groupExpectedDate = sentGroup_expected_date_time.withZone(cityTimezone);

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

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

Комментарии:

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

2. что это за тип объекта sentGroup_expected_date_time ?

Ответ №1:

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

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