Получение часового пояса на основе локали может не совпадать с фактическим часовым поясом .
Пример: здесь, в Австралии, языковой стандарт - en-AU, но у нас есть несколько часовых поясов с разницей до 3 часов.
Я думаю, в США у них тоже есть эта проблема.
Возможное решение - хранить время UTC . Если пользователь затем настраивает свой часовой пояс, скажем, в своих предпочтениях, или вы используете какой-то другой способ передачи часового пояса (информация о клиенте / браузере, скажем, через AJAX), тогда вы можете отрегулировать время UTC, основываясь на этом, используя экземпляр java.util.Calendar
.