PDA

View Full Version : [java]metodo che ritorna la data corrente


misterxxitalia
27-03-2008, 21:29
ciao a tutti ho un metodo che usa la classe calendar che mi permette di ritornare una stringa con la data odierna questo è un metodo che ho trovato in rete e che ho modificato perchè il formato non va bene...
public String DataCorrente()
{
Calendar cal = new GregorianCalendar();
int giorno = cal.get(Calendar.DAY_OF_MONTH);
int mese = 1+cal.get(Calendar.MONTH);
int anno = cal.get(Calendar.YEAR);
if(mese<10)
String mesead ="0"+mese;
String dataoggi=(giorno + "/" + mesead + "/" + anno);
return dataoggi;
}
però qui:
String mesead ="0"+mese;
mi da come errore not a statment...xche?

vladix
27-03-2008, 21:42
ma secondo te se il risultato di questo if e false

if(mese<10)
String mesead ="0"+mese;


da dove prende la variabile mesead in quest'altro pezzo di codice ? qui la variabile mesead non esiste


String dataoggi=(giorno + "/" + mesead + "/" + anno);


il codice corretto e

public String DataCorrente()
{
Calendar cal = new GregorianCalendar();
int giorno = cal.get(Calendar.DAY_OF_MONTH);
int mese = 1+cal.get(Calendar.MONTH);
int anno = cal.get(Calendar.YEAR);
String mesead = mese;

if(mese<10)
mesead ="0"+mese;

String dataoggi=(giorno + "/" + mesead + "/" + anno);
return dataoggi;
}



Edit:
se ti serve la data corrente puoi semplicemente usare


public String DataCorrente(){
SimpleDateFormat f = new SimpleDateFormat("dd/MM/yyyy");
return f.format(new Date());
}

misterxxitalia
27-03-2008, 22:10
il primo metodo apparte qui...
String mesead = mese+"";
funge.
senno il secondo metodo come faccio a visualizzare la data in formato
GG/MM/AAAA perche me la visualizza cosi GG/M/AAAA...

vladix
28-03-2008, 06:34
il secondo metodo come faccio a visualizzare la data in formato
GG/MM/AAAA perche me la visualizza cosi GG/M/AAAA...

se ti riferisci al metodo che ho postato , a meno che tu nn abbia cambiato il pattern , la data la stampa in formatto "dd/MM/yyyy" ( x simpledateformat "DD/MM/AAAA" non e un pattern


il primo metodo apparte qui...

String mesead = mese+"";

funge.

io nn ho detto il contrario ,cmq l'errore li e che tu dichiari una variabile dentro un if , se la condizione del if e false , il codice dentro l'if non viene eseguito , quindi la variabile non viene creata , se tu aggiungi le parentesi al if , te ne accorgi subito xche l'errore te lo darà qui

if(mese < 10){
String mesead ="0"+mese;
}
String dataoggi=(giorno + "/" + mesead + "/" + anno);

field mesead not found