Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    JAVA - formattazioni di date.

    Mediante
    codice:
    <%=request.getAttribute("dataUltimoUtilizzo")%>
    recupero la data da Oracle nel seguente formato:
    codice:
    2004-06-01 12:00:00.0
    Adesso il mio obbiettivo è quello di prendere tale valore Timestamp e trasformarlo in formato String, così:
    codice:
    2004-06-01
    Come devo procedere?

    Grazie!!!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    ciao qp

    devi usare o il SimpleDateFormat oppure direttamente nelle jsp la taglib fmt (fa parte delle jstl)

    dipende da te: se devi visualizzarlo pulito solo nella pagina,usa la fmt.. se ne hai bisogno invece anche nelle classi, usa l'altro metodo

  3. #3
    Ciao trevor, specifico meglio il problema.

    Allora io recupero da Oracle la data nel seguente formato:
    codice:
     
    2004-06-01 12:00:00.0
    Siccome a me serve trasformarla in stringa ho fatto la seguente:
    codice:
     
    java.util.Date dataUltimoUtilizzo = (Timestamp)request.getAttribute("dataUltimoUtilizzo");
    e poi invocando la funzioncina, ho fatto:
    codice:
    <%=DateUtil.getFormattedDateNew(dataUltimoUtilizzo)%>
    Il problema che lui mi ritorna la data nel seguente formato:
    codice:
    01/06/04 12.00
    io invece vorrei che me la ritornasse:
    codice:
    01/06/2004 12.00
    La funzione "getFormattedDateNew" è sviluppata così:
    codice:
    static public String getFormattedDateNew(java.util.Date date)
    
    {
    
    if (date==null)
    
    return "";
    
    else
    
    {
    
    SimpleDateFormat formatter = new SimpleDateFormat ();
    
    return formatter.format(date);
    
    }
    
    }
    Cosa va cambiato?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    tu utilizzi un SimpleDateFormat impostato di default
    infatti fai


    SimpleDateFormat formatter = new SimpleDateFormat ();

    return formatter.format(date);

    -----



    quello che ti consiglio innanzituttoè di inizializzarlo con il Locale appropriato (non si sa mai capisca male la data )
    E comunque, per la normalizzazione della data, puoi definire un pattern..


    quindi fai un new SimpleDateFormat(pattern, Locale.ITALY);

    dove il pattern è una stringa, nel tuo caso "dd-mm-yyyy".


  5. #5
    Originariamente inviato da trevor
    tu utilizzi un SimpleDateFormat impostato di default
    infatti fai


    SimpleDateFormat formatter = new SimpleDateFormat ();

    return formatter.format(date);

    -----



    quello che ti consiglio innanzituttoè di inizializzarlo con il Locale appropriato (non si sa mai capisca male la data )
    E comunque, per la normalizzazione della data, puoi definire un pattern..


    quindi fai un new SimpleDateFormat(pattern, Locale.ITALY);

    dove il pattern è una stringa, nel tuo caso "dd-mm-yyyy".


    anzi, il tuo pattern è

    "dd/mm/yyyy hh:MM" <---- oree minuti

  6. #6
    Non ho capito il discorso del pattern... :master:
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Originariamente inviato da maximum
    Non ho capito il discorso del pattern... :master:
    il pattern, è uno scheletro di formattazione data.


    definisci una stringa e gli dici "la data deve essere in questo formato"


    String formato = "dd/mm/yyyy hh:MM";

    SimpleDateFormat formatter = new SimpleDateFormat(formato);

    formatter.format(data);

    ---------


    formato = "dd/mm/yyyy hh:MM" indica precisamente la data fatta da giorno di 2 cifre, carattere "/", poi mese di 2 cifre, poi ancora carattere "/", po anno di 4 cifre, poi un carattere di spazio, poi l'ora di 2 cifre, un carattere di ":", e iminuti (sempre due cifre)


    il pattern puoi definirlo come ti pare,basta che usi gli elementi che lo costituiscono.

    d = carattere che rappresenta una cifra del giorno
    m = carattere che rappresenta una cifra del mese
    y = carattere che rappresenta una cifra dell'anno

    h = carattere che rappresenta una cifra dell'ora
    M = carattere che rappresenta una cifra del minuto
    s = carattere che rappresenta una cifra del secondo.


    poi in mezzo ci infili i separatori che vuoi

  8. #8
    il pattern corretto è:
    "dd/MM/yyyy hh:mm:ss"

    G Era
    y Year
    M Month in year
    w Week in year
    W Week in month
    D Day in year
    d Day in month
    F Day of week in month
    E Day in week
    a Am/pm marker
    H Hour in day
    k Hour in day
    K Hour in am/pm
    h Hour in am/pm
    m Minute in hour
    s Second in minute
    S Millisecond
    z Time zone (Pacific Standard)
    Z Time zone


    il pattern specifica al SimpleDateFormat come deve cercare di "renderizzare" la data. Praticamente il formato in cui vuoi che venga rappresentata. Le lettere che ti ho specificato sono chiavi particolare che identificano all'interno della stringa di formattazione i parametri della data.

    "dd/MM/yyyy hh:mm:ss" = 14/12/2001 10:34:21
    "dd/MM/yy hh:mm:ss" = 14/12/01 10:34:21
    "dd/MM/yy" = 14/12/01
    "MM/dd/yyyy" = 12/14/2001
    ► ☺ ◄

  9. #9
    ah ecco, avevo invertiro minuti e mesi, grazie patrix

  10. #10
    Ragazzi, tutto chiaro, c'è solo qualcosa che non va.
    Uso la seguente funzione:
    codice:
    static public String getFormattedDateNew(java.util.Date date) throws ParseException
      {
    	if (date==null)
    	  return "";
    	else
    	{
    	  String formato = "dd/mm/yyyy"; 		
    	  SimpleDateFormat formatter = new SimpleDateFormat(formato,Locale.ITALY);
    	  return formatter.format(date);
    	}
      }
    Però mi ritorna la data anzichè 01/06/2004 --> 01/00/2004
    Ma io nel DB come mese, ho 06, perchè? :master:
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.