Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [jsp] Problemi con la casse calendar!!!

    Ciao a tutti,
    vi ilustro brevemente il io problema:
    io ho bisogno di fare operazioni con le date (del tipo fare un ciclo for aumentando la data ogni volta di un giorno) e poi metterla in formato gg/MM/aaaa
    ora vi scrivo quello che ho fatto fino ad ora ed il risultato:

    [JSP PAGE]
    <%
    String dal=request.getParameter("dal"); //prendo il valore dal che gli passo da una form

    //--spezzo la data in giorno, mese e anno in valori interi
    int gg=Integer.valueOf(dal.substring(0,2)).intValue();
    int mm=Integer.valueOf(dal.substring(3,5)).intValue();
    int aa=Integer.valueOf(dal.substring(6,10)).intValue() ;

    java.util.Calendar dalCal = java.util.Calendar.getInstance(); //instanzio la variabile calendar

    dalCal.set(aa,mm,gg); //setto i vaori della classe calendar alla data che gli passo nella form

    dal=String.valueOf((dalCal.DATE)).toString()+"/"+String.valueOf(dalCal.MONTH).toString()+"/"+String.valueOf(dalCal.YEAR).toString(); //ritrasformo la data in stringa nel forato gg/MM/aaaa
    %>

    [/JSP PAGE]

    Ora qualsiasi variabile gli passo quando cerco di stapare la variabile dal mi da come risultato finale 5/2/1
    ho provato a stamparmi pezzo per pezzo per vedere se c'era qualche problema intermedio e fino a quando non stampo i valori di dalCal.DATE, dalCal.MOUNTH e dalCal.YEAR mi da tutti i valori giusti....
    Non so dove sbattere la testa.... qualcuno mi può spiegare dove sbaglio? PLZ

    P.S.: se provo stampare la variabile calendar passandogli come data 15/03/2007 il risultato è:
    .util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,len ient=true,zone=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylig ht=true,startYear=0,startMode=2,startMonth=2,start Day=-1,startDayOfWeek=1,startTime=3600000,startTimeMode =2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,Y EAR=2007,MONTH=3,WEEK_OF_YEAR=12,WEEK_OF_MONTH=3,D AY_OF_MONTH=15,DAY_OF_YEAR=78,DAY_OF_WEEK=5,DAY_OF _WEEK_IN_MONTH=3,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MI NUTE=53,SECOND=2,MILLISECOND=484,ZONE_OFFSET=36000 00,DST_OFFSET=0]

    e non mi sembra sbagliato......
    Ciauz a tutti e grazie dell'aiuto che mi darete
    Si dice che ci vuole un minuto per notare una persona speciale, un'ora per apprezzarla, un giorno per volerle bene, ...ma poi tutta una vita per dimenticarla.

    UN AMICO E' UN SOLE SENZA TRAMONTO...

  2. #2
    Rileggendo il mio post ho notato che non è molto chiaro quello che voglio fare ma visto che dovrei scrivere un post kilometrico per spiegarlo preferisco editarlo aggiungendo questa semplice pagina JSP:

    [JSP PAGE]
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.text.*"%>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
    <TITLE>
    Hello World
    </TITLE>
    </HEAD>
    <BODY>
    <%
    String dal=request.getParameter("dal");
    %>
    <form onsubmit="form.jsp">
    <table>
    <tr>
    <td>Dal:
    </td>
    <td><input type="text" name="dal">
    </td>
    </tr>
    <tr>
    <td><input type="submit" value="Invia">
    </td>
    </tr>
    </form>
    <%
    if (dal!=null)
    {
    %>
    <tr><td><%="variabile dal= "+dal%></td></tr>
    <%
    //-- divido la variabile che gli passo nella form in giorno, mese e anno
    int ggDa=Integer.valueOf(dal.substring(0,2)).intValue( );
    int mmDa=Integer.valueOf(dal.substring(3,5)).intValue( );
    int aaDa=Integer.valueOf(dal.substring(6,10)).intValue ();

    java.util.Calendar CalendarDate = java.util.Calendar.getInstance();//instanzio la variabile calendar

    //-- setto la variabile calendar con i parametri della form
    CalendarDate.set(CalendarDate.DATE,ggDa);//setto il giorno con la variabile giorno che gli passo nella form
    CalendarDate.set(CalendarDate.MONTH,mmDa);//setto l'anno con la variabile anno che gli passo nella form
    CalendarDate.set(CalendarDate.YEAR,aaDa);//setto il giorno con la variabile giorno che gli passo nella form

    //-- aggiungo alla data settata un giorno
    CalendarDate.add(CalendarDate.DATE,+1);

    //-- setto la variabile iniziale con la nuova data
    dal=String.valueOf((CalendarDate.DATE)).toString() +"/"+String.valueOf(CalendarDate.MONTH).toString( )+"/"+String.valueOf(CalendarDate.YEAR).toString() ;
    %>
    <tr><td>Stampo tutte le variabili ottenute;</td></tr>

    <tr><td><%="i valori della variabile dal trasformati in numeri: anno:"+aaDa+" mese:"+mmDa+" giorno:"+ggDa%></td></tr>
    <tr><td><%="valore della variabile calendar="+datdat%></td></tr>
    <tr><td><%="giorno "+datdat.DAY_OF_MONTH%></td></tr>
    <tr><td><%="mese "+datdat.MONTH%></td></tr>
    <tr><td><%="anno "+datdat.YEAR%></td></tr>
    <tr><td><%="risultato finale della stringa dal= "+dal%></td></tr>
    <%
    }
    %>
    </table>
    </BODY>
    </HTML>
    [/JSP PAGE]

    se eseguite questa pagina noterete che il risultato finale è sempre giorno 5 mese 2 anno 1.
    Se qualcuno mi vuole spiegare cosa sbaglio......
    a tutti.
    Si dice che ci vuole un minuto per notare una persona speciale, un'ora per apprezzarla, un giorno per volerle bene, ...ma poi tutta una vita per dimenticarla.

    UN AMICO E' UN SOLE SENZA TRAMONTO...

  3. #3
    Ho risolto
    il problema era nella chiamata delle variabili
    invece di chamarle direttamente così: CalendarDate.DATE dovevo fare: CalendarDate.get(CalendarDate.DATE)
    e ritorna il risultato giusto.
    Se ora qualcuno mi volesse spiegare che cavolo di dati mi dava prima.... ma soprattutto perchè.... ne sarei felice
    Comunque grazie dell'aiuto che NON mi avete dato
    Si dice che ci vuole un minuto per notare una persona speciale, un'ora per apprezzarla, un giorno per volerle bene, ...ma poi tutta una vita per dimenticarla.

    UN AMICO E' UN SOLE SENZA TRAMONTO...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.