Привет. Я пытаюсь составить расписание, используя primaface, но дата окончания показывает один день до указанной даты.
И этот компонент
@PostConstruct
public void init() {
eventModel = new DefaultScheduleModel();
lazyEventModel = new LazyScheduleModel() {
@Override
public void loadEvents(Date start, Date end) {
List<Group> listproject = new GroupDAO().retriveAll("", new Object[] {});
Calendar date = Calendar.getInstance();
Calendar dates = Calendar.getInstance();
for (int i = 0; i < listproject.size(); i++) {
date.setTime(listproject.get(i).getCreateAt());
dates.setTime(listproject.get(i).getUpdateAt());
addEvent(new DefaultScheduleEvent(listproject.get(i).getName(), date.getTime(), dates.getTime()));
System.out.println(listproject.get(i).getName()+ listproject.get(i).getCreateAt() + listproject.get(i).getUpdateAt());
}
}
};
}
X html
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
template="/user_templates/template.xhtml">
<ui:define name="metadata">
</ui:define>
<ui:define name="content">
<p:layout>
<p:layoutUnit position="center">
<h:form id="formId">
<h:panelGrid columnClasses="value">
<p:schedule value="#{testBean.lazyEventModel}" timeZone="GMT+7" > <!-- view="agendaWeek" bisa dipake buat search -->
<p:ajax event="dateSelect" listener="#{testBean.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />
<p:ajax event="eventSelect" listener="#{testBean.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show()" />
</p:schedule>
</h:panelGrid>
<p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip">
<h:panelGrid id="eventDetails" columns="2">
<p:outputLabel for="title" value="Titles:" />
<p:inputText id="title" value="#{testBean.event.title}" required="true" />
<p:outputLabel for="from" value="From:" />
<p:calendar id="from" value="#{testBean.event.startDate}" pattern="dd/MM/yyyy HH:mm" showTime="true" appendTo="@(body)" />
<p:outputLabel for="to" value="To:" />
<p:calendar id="to" value="#{testBean.event.endDate}" pattern="dd/MM/yyyy HH:mm" showTime="true" appendTo="@(body)" />
<!-- <p:outputLabel for="allDay" value="All Day (see #1164):" />
<h:selectBooleanCheckbox id="allDay" value="#{testBean.event.allDay}" /> -->
<p:commandButton type="reset" value="Reset" />
<p:commandButton id="addButton" value="Save" action="#{testBean.addEvent}" oncomplete="PF('myschedule').update();PF('eventDialog').hide();" />
</h:panelGrid>
</p:dialog>
</h:form>
</p:layoutUnit>
</p:layout>
</ui:define>
Ранее я использовал Date для установленного значения на cratedAt и updateAt на GroupDAO для получить значение из базы данных, но оно показывает то же самое, что и изображение для начальной даты, а затем я изменяю его на метку времени, и звездная дата отображается так, как я хочу, но конечная дата отображается так, и я не знаю, в чем проблема
И я только что понял, что значение имеет неправильную дату окончания