Проблема, с которой я сталкиваюсь, заключается в том, что при попытке изменить ползунок времени в календаре primefaces 6.1 я теряю большую часть часов. В большинстве случаев обнаруживается изменение только на один час.
Я изучил следующее. Потеря часов / минут при включенном Ajax
Код для календаря. (Этот код уже был написан. Мне просто нужно исправить скользящую проблему)
<p:calendar widgetVar="collectedDate" tabindex="50"
value="#{caseController.selectedCase.caseCollectedDate}"
converter="DateConverter"
converterMessage="Please enter valid date time format" pattern="MM/dd/yy HH:mm"
maxdate="#{viewUtilityBean.currentDate}">
<p:ajax event="dateSelect" update="@this,:growl"
listener="#{caseController.onDateCollectedSelect()}"/>
</p:calendar>
DateConverter
Date date1 = null;
try {
if (!value.contains(":")) {
date1 = new SimpleDateFormat("MM/dd/yy").parse(value);
value = new SimpleDateFormat("MM/dd/yy HH:mm").format(date1.getTime());
date1 = new SimpleDateFormat("MM/dd/yy HH:mm").parse(value);
} else {
date1 = new SimpleDateFormat("MM/dd/yy HH:mm").parse(value);
}
} catch (ParseException e) {
e.printStackTrace();
}
Если текущее время в календаре 15:00, и я перетаскиваюползунок до 12:00. Обновленное время, которое он показывает, равно 14:00, в то время как оно должно показывать 12:00.
Есть ли способ, я могу назвать этот ajax после того, как будет выбрана вся дата и время. Не после каждого небольшого изменения в слайдере.
Это часовой пояс, который мы используем в нашем приложении.
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>