Расписание показывает неверную дату окончания на Calender Primeface JSF - PullRequest
0 голосов
/ 14 апреля 2020

Привет. Я пытаюсь составить расписание, используя primaface, но дата окончания показывает один день до указанной даты.

enter image description here

И этот компонент

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

И я только что понял, что значение имеет неправильную дату окончания

...