#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
или иной?