2014-11-26 6 views
0

Как преобразовать значение одного часового пояса в другой значения часового пояса с помощью <s:date>одного часового пояса в другой преобразования часового пояса

Например, я хотел бы преобразовать

CTS в GMT + 05: 30 (или IST) using <s:date> tag

В моей базе данных Я добавил дату и значение часового пояса пользователя в отношении GMT. мой сервер базы данных показывает часовой пояс CTS (я не могу его проследить). Здесь я хотел бы, чтобы преобразовать дату из временной зоны CTS в часовом пояс пользователя, который GMT + 05: 30 (или IST) или время пользователей зоны хранится в базе данных

+0

Как вы храните значения в db? –

+0

Я сохраняю в базе данных '+05: 30',' -03: 00' и ​​так далее – xrcwrn

ответ

1

Для индийского поясного времени, это так:

<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 в браузере), затем распечатайте эту дату три раза в действии, используя три разных часовых пояса, чтобы имеют совпадение между всей цепочкой, что поможет вам отлаживать, где применяются преобразования и как.

+0

Я видел этот ответ. но мы можем конвертировать из '' CTS + GMT + 05: 30''. Я хочу конвертировать из одного часового пояса в другой – xrcwrn

+0

Даты не имеют часовой пояс. Вы имеете дело с Timezones, когда вы разбираете/форматируете их со строками или другими объектами. Пожалуйста, обновите свой вопрос с фактическим требованием. Вы анализируете введенные пользователем (String) даты? –

+0

пожалуйста se обновленный вопрос. Я не разбираю дату. – xrcwrn

Смежные вопросы