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

    GregorianCalendar - problema con la data

    ho un problemino con la data....
    perche facendo cosi:

    codice:
    GregorianCalendar gc = new GregorianCalendar();
    String gg = String.valueOf(gc.DAY_OF_MONTH);
    if(gc.DAY_OF_MONTH<10){
    	gg = "0"+gg;
    }
    String mm = String.valueOf(gc.MONTH);
    if((GregorianCalendar.MONTH)<10){
    	mm = "0"+mm;
    }
    String aaaa = String.valueOf(gc.YEAR);
    aaaa = "20"+aaaa;
    System.out.println(gg+"/"+mm+"/"+aaaa);
    ottengo
    codice:
    05/02/201
    e non la data corrente 24/02/2010

    ps: il calendario del pc è giusto

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502

    Re: GregorianCalendar - problema con la data

    Originariamente inviato da superman1001
    ho un problemino con la data....
    perche facendo cosi:

    codice:
    GregorianCalendar gc = new GregorianCalendar();
    String gg = String.valueOf(gc.DAY_OF_MONTH);
    if(gc.DAY_OF_MONTH<10){
    	gg = "0"+gg;
    }
    String mm = String.valueOf(gc.MONTH);
    if((GregorianCalendar.MONTH)<10){
    	mm = "0"+mm;
    }
    String aaaa = String.valueOf(gc.YEAR);
    aaaa = "20"+aaaa;
    System.out.println(gg+"/"+mm+"/"+aaaa);
    ottengo
    codice:
    05/02/201
    e non la data corrente 24/02/2010

    ps: il calendario del pc è giusto
    Perché i campi DAY_OF_... ecc hanno quei valori nell'implementazione di Calendar.
    Stai accedendo a dei campi statici e non al valore "vero" di gc.
    codice:
    int giorno=gc.get(Calendar.DAY_OF_MONTH);
    funzionerà. Così come con gli altri campi.
    al volante son nervoso

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

    Re: GregorianCalendar - problema con la data

    Originariamente inviato da superman1001
    perche facendo cosi:
    ottengo
    codice:
    05/02/201
    e non la data corrente 24/02/2010
    gc.DAY_OF_MONTH (come gli altri 2 che hai messo) sono i valori delle costanti!!!

    gc.get(gc.DAY_OF_MONTH);

    non
    gc.DAY_OF_MONTH che è solo la costante DAY_OF_MONTH che vale 5!!


    P.S. Invece di fare giri "strani", usa java.text.SimpleDateFormat per formattare la data.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    risolto, grazie mille per l'aiuto

    codice:
    GregorianCalendar gc=new GregorianCalendar();
    		int m = (gc.get(GregorianCalendar.MONTH)+1);
    		String mm = String.valueOf(m);
    		if(m<10){
    			mm = "0"+m;
    		}
    		String gg = String.valueOf(gc.get(GregorianCalendar.DAY_OF_MONTH));
    		if((gc.get(GregorianCalendar.DAY_OF_MONTH))<10){
    			gg = "0"+gg;
    		}
    		String aaaa = String.valueOf(gc.get(GregorianCalendar.YEAR));
    		System.out.println( gg+"/"+mm+"/"+aaaa);

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da superman1001
    risolto
    Ripeto: meglio SimpleDateFormat
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.