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

    [java] GregorianCalendar impazzito

    Ciao,
    ho un problema col GregorianCalendar che mi manda ai pazzi:

    Ho una data che rappresenta il 20/12/2005 nel mio database. Se recupero il dato e la stampo tale data č perfettamente giusta (2005-12-20), se la visualizzo in una JTable č giusta (20-dic-2005).. se la passo al GregorianCalendar magicamente si trasforma in 20-11-2005.. perfettamente un mese indietro.. perchč???

    codice:
    java.util.GregorianCalendar calendar = new java.util.GregorianCalendar();
    calendar.setTime((java.sql.Date)value[2]);
    String date = calendar.get(java.util.Calendar.DATE)+"/"+calendar.get(java.util.Calendar.MONTH)+"/"+calendar.get(java.util.Calendar.YEAR);
    System.out.println(date;
    La data che stampo č un mese dietro...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    A parte il fatto che il metodo setTime() di Calendar prevede un oggetto java.util.Date e non java.sql.Date (che sono due cose ben diverse), ma non fai prima a ricavare i 3 campi (anno, mese, giorno) su 3 interi e passarli al costruttore di GregorianCalendar direttamente?


    Ciao.
    "Perchč spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    L'ho giā provata sta strada... prima di scoprire che accettava anche un oggetto Date (sql č estensione di util) ho usato il costruttore che dici tu in questo modo:

    GregorianCalendar(2005,12,20)

    ma l'errore persisteva... una cosa pazzesca, mi visualizzava una roba tipo 20/0/2006!!!

    VVoVe:

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    i mesi sono calcolati non da 1 a 12 ma da 0 a 11

  5. #5
    Quindi con java.util.Calendar.MONTH+1 ottengo il mese corretto, mentre la stessa cosa non accade con java.util.Calendar.DAY... č pazzesco, non vi pare?


  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Sarebbe pazzesco se la classe Calendar non avesse dei campi statici per i mesi: Calendar.JANUARY, Calendar.FEBRUARY, ecc...


    Ciao.
    "Perchč spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.