You have two possibility

 

 

    public int displayContentFromDates(String startDate, String endDate){

      String objectDate = startDate;

      String objectStartDateStr = startDate;

      String objectEndDateStr = endDate;

      long objectStartDate = -1;

      long objectEndDate = -1;

      try {

          objectStartDate = Long.parseLong(objectStartDateStr);

      } catch (NumberFormatException nfe) {

          //System.out.println("box_new.jsp> " + nfe);

      }

      try {

          objectEndDate = Long.parseLong(objectEndDateStr);

      } catch (NumberFormatException nfe) {

          //System.out.println("box_new.jsp> " + nfe);

      }

      long now = (new Date()).getTime();

      int displayObject = -1;

      if (objectStartDate == -1){

          if (objectEndDate == -1){

              displayObject = 0;

          } else if (now <= objectEndDate) {

              displayObject = 0;

          }

      } else if (objectStartDate <= now){

          if (objectEndDate == -1){

              displayObject = 0;

          } else if (now <= objectEndDate) {

              displayObject = 0;

          }

      } else if (objectStartDate > now){

              displayObject = 1;//sera à afficher plus tard

      }

      return displayObject;

    }

 

This the first one then you print just the containers where the function return 0

 

The second method, and the best way I think is to use containerFilter

 

<%

  if (!jData.gui().isEditMode()) {

    Vector moncFilterBeans=new Vector();

    Calendar todayCalendar=Calendar.getInstance();

    ContainerFilterBean monContainerFilter = new ContainerFilterBean("startDate ",jData.params().getEntryLoadRequest());

    monContainerFilter.addClause(ContainerFilterBean.COMP_SMALLER_OR_EQUAL,""+todayCalendar.getTimeInMillis());

    moncFilterBeans.add(monContainerFilter);

    monContainerFilter=null;

    ContainerFilterBean monContainerFilterEnd = new ContainerFilterBean("endDate ",jData.params().getEntryLoadRequest());

    monContainerFilterEnd.addClause(ContainerFilterBean.COMP_BIGGER_OR_EQUAL,""+todayCalendar.getTimeInMillis());

    moncFilterBeans.add(monContainerFilterEnd);

    monContainerFilterEnd=null;

    ContainerFilters containerFilters = new ContainerFilters("agendaContainerList",jParams,moncFilterBeans);

    request.setAttribute("agendaContainerList_filter_handler",containerFilters);

  }

%>

 

 

Hope this can help you

 

Nicolas


De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 28 octobre 2005 15:49
À : [email protected]
Objet : How to compare a date?

 

I have a container with a startDate and an endDate field.

I want to show the container if curent date is in between those dates.

 

How can I compare with current date? (System.currentTimeMillis())

 

I can find some java code doing by using java code (scriplet) (box_news.inc).

 

But how can we do this by using taglibs (jahia,jstl,struts)?

...

 <content:dateField ..../>

...

 <c:if test="${ ????? }">

  // Show container fields...

</c:if>

...

Regards

/Lars Hagrot

Reply via email to