PDA

View Full Version : [J2ME] J2ME e Data


StefanoCsl
15-06-2004, 12:41
Ciao, sto provando a fare la mia prima applicazione in J2ME. Ho un problema con le date: non riesco a visualizzare la data attuale del cellulare. Con Java utilizzo i metodi getDay(), getMonth() e getYear() di Date che seppur deprecati funzionano. Purtroppo non sono presenti con J2ME e non so come fare a visualizzarla.
Ho trovato le classi Calendar e CalendarImpl. La prima č molto simile a quella del Java mentre della seconda non riesco a trovare la documentazione.
Ho anche provato utilizzando Date e visualizzando la data con il metodo toString(), ma non da il risultato che vorrei.

Ho provato a visualizzare la data con il metodo Calendar e Date cosė facendo:


private String getDataOdierna() {
Date data = new Date();

data.setTime(System.currentTimeMillis());

String dataOdierna = "";

TimeZone tz = TimeZone.getTimeZone("GMT+01:00");
dataOdierna = tz.getID();

Calendar calendar = Calendar.getInstance();

calendar.setTime(data);
calendar.setTimeZone(tz);

String giorno = "" + Calendar.DAY_OF_MONTH;
String mese = "" + Calendar.MONTH;
String anno = "" + Calendar.YEAR;

String ora = "" + calendar.HOUR_OF_DAY;
String minuti = "" + calendar.MINUTE;
String secondi = "" + calendar.SECOND;
dataOdierna = giorno + "/" + mese + "/" + anno + " " + ora + ":" + minuti + "," + secondi;
return dataOdierna;

}


La data che viene visualizzata č cosė: "5/2/1 11:12,13". Capisco che ho utilizzato delle costanti e non credo che sia corretto, ma non ho trovato nessun metodo che mi tornasse il giorno, mese e anno. Io devo visualizzare la data nel formato dd/mm/yyyy.

Grazie a tutti

tornaCatalessi
14-06-2009, 16:36
Hi all,
this is my working solution:

######create a data time zone GMT+1h (e.g. ITALY) ########

Date dataDefault = new Date();
dataDefault.setTime(System.currentTimeMillis());
Calendar calendar = Calendar.getInstance(TimeZone
.getTimeZone("GMT+01:00"));
//setting calendar
calendar.setTime(dataDefault);
System.out.println("DEVICE DATE:" + calendar.getTime().toString());

######setting for DataField###################

df_data = new DateField("Data evento:", DateField.DATE, TimeZone
.getTimeZone("GMT+02:00"));

Enjoy.
:cincin: :cincin:
tornaCatalessi,Italy.