2015-05-25 6 views
2

My JVM работает в US/Pacific Часовой пояс, но клиент обращается к приложению из Индии;DatePicker Значение тега по умолчанию в конкретном часовом поясе

Впервые метка датпинга Struts jQuery загружается в браузер со значением времени по умолчанию в соответствии с часовым поясом JVM.

Я хочу, чтобы он находился в часовом поясе клиентов.

В любом случае это можно сделать в datepicker?

<sj:datepicker theme="simple" 
       name="taskDate" 
       value="today" 
      timepicker="true" 
    timepickerFormat="hh:mm:ss" 
    buttonImageOnly="true" 
       style="width: 70px;" 
       label="Task Date" 
       key="taskDate" 
     displayFormat="ddMyy" /> 

Я попытался с помощью Joda времени, но, кажется, его не совместим со значением в DatePicker, когда я использую его загружает пустое значение.

+0

Итак, вы пытались Joda время поставить Datepicker часовой пояс? –

+0

Да @ RomanC Я пытался это сделать. Что-то вроде этого 'value ="% {new DateTime(). WithZone (DateTimeZone.forOffsetHoursMinutes (5, 30)). ToString()} "', но он по-прежнему не работает. Он не отображает значение по умолчанию при загрузке. –

+0

Конечно, это не работает, потому что это время сервера. –

ответ

0

Выбор даты не должен знать о часовых поясах и просто использовать значение времени, которое вы ему даете. Если вы, конечно, не включите смещение часового пояса в спецификации времени, которую вы ему даете. toString() будет по умолчанию включать часовой пояс, так что это не сработает.

Но это должно:

<sj:datepicker theme="simple" 
       name="taskDate" 
       value="2015-05-26 11:00" 
      timepicker="true" 
    timepickerFormat="hh:mm:ss" 
    buttonImageOnly="true" 
       style="width: 70px;" 
       label="Task Date" 
       key="taskDate" 
     displayFormat="ddMyy" /> 

Чтобы получить формат без временной зоны, использовать что-то вроде:

%{new DateTime().strftime("%Y-%m-%d %H:%M") 
+0

Это тоже не решит мою проблему. using 'value ="% {new java.util.Date()} "' или 'value ="% {new DateTime()} "' похоже на использование 'value =" today ". Это снова отображает время JVM при первой загрузке, а не время клиента. Пожалуйста, поправьте меня, если я не понимаю ваш ответ и что-то сделаю. –

+0

@AshishVerma: Точка моего ответа заключается в том, что вам нужно подавать виджет строки времени даты, которая НЕ включает часовой пояс. В соответствии с моим примером с '.strftime()'. Ваши примеры будут включать часовой пояс. –