Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122

    Calendar e Month...

    Ciao a tutti...ho bisogno di prendere la data di sistema tramite un piccolo programma java...documentandomi ho visto che si puo fare utilizzando la classe calendar e lo utilizzata in questa maniera:


    Calendar data = Calendar.getInstance();
    String dataN=data.get(Calendar.YEAR)+"-"+data.get(Calendar.MONTH)+"-"+data.get(Calendar.DAY_OF_MONTH);
    System.out.println(dataN);

    in modo da avere una stringa con anno-mese-giorno....

    il problema è che il MONTH mi viene restituito come 8...siamo a settembre e naturalmente il numero del mese dovrebbe essere 09 ho controllato la data di sistema della mia macchina con il prompt di ms dos e la data di sistema è corretta....
    Qualcuno conosce il motivo di questa incongruenza???

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    i mesi li conta a partire da 0 (gennaio): è nella documentazione. Usa un formatter (SimpleDateFormat ad esempio) per avere quello che vuoi in maniera pulita.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Calendar e Month...

    Originariamente inviato da fegret
    in modo da avere una stringa con anno-mese-giorno....
    SimpleDateFormat è fatto apposta per queste cose....

    codice:
    import java.text.*;
    import java.util.*;
    ....
    
    DateFormat df = new SimpleDateFormat ("yyyy-MM-dd");
    String str = df.format (un_oggetto_Date);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    41

    Re: Calendar e Month...

    mi viene restituito come 8...siamo a settembre e naturalmente il numero del mese dovrebbe essere 09 ho controllato la data di sistema della mia macchina con il prompt di ms dos e la data di sistema è corretta....
    Qualcuno conosce il motivo di questa incongruenza???
    io ho usato GregorianCalendar come classe e non mi dà questa incongruenza. Puoi provare...
    col GregorianCalendar una volta che ne crei uno nuovo:

    GregorianCalendar cal = new GregorianCalendar();

    ti ci mette automaticamente la data corrente, senza uare alcun metodo get.

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Calendar e Month...

    Originariamente inviato da shirim
    io ho usato GregorianCalendar come classe e non mi dà questa incongruenza. Puoi provare...
    col GregorianCalendar una volta che ne crei uno nuovo:

    GregorianCalendar cal = new GregorianCalendar();
    Non cambierebbe assolutamente nulla. Di fatto Calendar.getInstance() ritorna un GregorianCalendar (almeno nella maggior parte del mondo ... dovrei verificare se per qualche Locale particolare ritorna un'altra implementazione di Calendar).

    Originariamente inviato da shirim
    ti ci mette automaticamente la data corrente, senza uare alcun metodo get.
    Cioè? O formatti "a mano" (get.. + get + ....) o usi (meglio e più comodamente) un DateFormat. punto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    Grazie a tutti...volevo solo chiedervi un altra cosa...giustamente come avete detto voi con la format posso formattare il tipo di data...a me interessa però la data di sistema per cui ho bisgono di passargli un oggetto Date che contenga i valori giusti...con la Calendar.getInstance ottengo la data giusta (anche se come dicevamo con un mese in meno...) che oggetto posso passargli quindi alla format??


    Grazie

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fegret
    Grazie a tutti...volevo solo chiedervi un altra cosa...giustamente come avete detto voi con la format posso formattare il tipo di data...a me interessa però la data di sistema per cui ho bisgono di passargli un oggetto Date che contenga i valori giusti...con la Calendar.getInstance ottengo la data giusta (anche se come dicevamo con un mese in meno...) che oggetto posso passargli quindi alla format??
    Mah ... guarda caso c'è un metodo getTime() in Calendar.

    E ricordati che Date ha molti metodi deprecati e pertanto va trattato solo come un oggetto che tiene un numero di millisecondi passati dalla "epoch". E uno degli usi tipici di Date è appunto quello di fare da "ponte" tra un Calendar e un DateFormat (e viceversa, chiaramente).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    122
    Ti ringrazio...ho risolto il problema...

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    41

    Re: Re: Re: Calendar e Month...

    Non cambierebbe assolutamente nulla. Di fatto Calendar.getInstance() ritorna un GregorianCalendar
    ^_______^ però a me il GregorianCalendar non dà quel problema... io vado per esperienza, dato che la teoria si sa che tante volte non corrisponde al comportamento reale ;-) o meglio, siamo noi che non sappiamo valutare bene tutte le variabili del caso ;-)

    comunque, fegret, qual era il problema? facci sapre così ci dovesse capitare non ci sbattiamo pure noi :-P

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 © 2025 vBulletin Solutions, Inc. All rights reserved.