Для индийского поясного времени, это так:
<s:date name = "yourDate"
format = "dd/MM/yyyy HH:mm:ss a"
timezone = "GMT+05:30" />
В комментариях к this related question, вы можете прочитать об общих ошибках, которые могут возникнуть при работе с этим.
Дата не имеет часовой пояс. Дата всего несколько миллисекунд с определенного момента времени (EPOCH: 01-01-1970, 00:00:00 UTC).
Когда вы сохраняете дату в базе данных, вы просто сохраняете этот длинный номер. Если ваша база данных имеет определенный TimeZone, это означает, что когда вы запустите запрос на нее, она будет форматировать Даты для человеческого представления с помощью этого TimeZone. В вашей базе данных также есть настройки TimeZone в вашей AS, в вашей структуре. Но по всей цепочке Date всегда остается одним и тем же объектом Date, только что представленным по-разному.
Многие базы данных позволяют вам save the TimeZone informations along with the date. Но так как вы сказали:
В моей базе данных я добавил значение даты и времени пользователя зоны относительно GMT.
Тогда вы можете абсолютно игнорировать тот факт, что
моя база данных сервера показывает часовой пояс CTS
Просто, что Дата и отформатировать его с нужной TimeZone, с код предоставлен.
Если это вас просто сбивает с толку (принимая даты GMT, показанные как CTS в вашем визуализаторе БД и отображаемые как IST в браузере), затем распечатайте эту дату три раза в действии, используя три разных часовых пояса, чтобы имеют совпадение между всей цепочкой, что поможет вам отлаживать, где применяются преобразования и как.
Как вы храните значения в db? –
Я сохраняю в базе данных '+05: 30',' -03: 00' и так далее – xrcwrn