У меня есть вопросы относительно часовых поясов. Мы сохраняем всю нашу дату в UTC, но нам нужно показать некоторые из них в местном (восточное время США) и UTC одновременно.JSTL и часовые пояса
Вот мой тест, у меня есть дата в формате UTC и хочу, чтобы отобразить его в формате UTC и местное время:
<html>
<!-- let's assume this date is in UTC, I get it from Database in my code -->
<jsp:useBean id="dateValue" class="java.util.Date" />
GMT
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd HH:mm:ss z" timeZone="GMT"/>
</html>
<!-- Displays the original time +4 - not what I need-->
No time zone
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd HH:mm:ss z"/>
<!-- Displays the original time, but timezone is EDT -->
US/Eastern
<fmt:formatDate value="${dateValue}" pattern="yyyy-MM-dd HH:mm:ss z" timeZone="US/Eastern"/>
<!-- Displays the original time, timezone is EDT, I need original + 4 -->
</html>
Повторим: У меня есть время UTC из базы данных и хочу отформатировать его и показать в часовой пояс UTC. Сервер работает в другом часовом поясе, чем UTC.
В принципе мне нужна функция, как
convertToTimezone(date, originalTimeZone, desiredTimeZone).
Какой FMT: FormatDate обеспечивает что-то вроде
convertToTimezone(date, serverTimeZone, desiredTimeZone).
Я мог бы взломать его, но это обычно вызывает проблемы, когда есть летнее время, и т.д.
PS Для тех, кто ищет ответы - одно дело - запустить ваш сервер в формате UTC, тогда конверсии будут работать нормально. Если это не изменить, единственный способ сделать это - создать новую дату с часовым поясом UTC, сделать это явно, я сам изменил время, которое мне пришлось на текст, затем создал новую дату и предоставил данные из текста и Часовой пояс UTC. Если вы этого не сделаете, часовой пояс считывается с сервера.
Ну, мы сохраняем даты в базе данных в UTC, но я показываю время, например, время запроса, запрошенное по местному времени. Итак, мне нужны оба. По этой причине я не могу запустить сервер с часовым поясом UTC. То, что я ищу, - это переход от времени UTC к указанному часовому поясу. Я не хочу менять время сервера для этого. У сервера есть другие веб-приложения, которые являются локальными, поэтому я не могу поменять часовой пояс сервера на UTC. –
Здесь есть 'fmt: setTimeZone' и/или' fmt: formatDate timeZone'. 'Date' сам всегда UTC. – BalusC
ну, допустим, у вас есть время UTC из базы данных, и вы хотите отформатировать его и показать в UTC время, как бы вы показали его в своем JSP? Предполагая, что сервер работает в другом часовом поясе, чем UTC. –