Sto avendo un po 'di problemi con una conversione di tempo tra un telefono Android (Nexus One) e un server Java. Tutto quello che ho letto dice che sono uguali, ma quando sto convertendo un lungo time stamp da mi sembra di perdere 1 ora (esattamente).Tempo Android vs Tempo Java
In particolare, se corro il seguente codice sul dispositivo Android ottengo il seguente output
Codice:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
Log.d(TAG, g.getTime().toLocaleString());
uscita: 25 giugno 2012 18:04:59
Quale penso sia corretto, ma quando eseguo lo stesso identico codice su un server java ottengo lo stesso giorno ma 1 ora prima
Codice:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
System.out.println(g.getTime().toLocaleString());
uscita: 25-Giu-2012 17:04:59
Qualcuno sa che cosa potrebbe causare questo? Sia il server che il telefono si trovano nello stesso posto (non che dovrebbe essere importante) e gli orologi sia sul server che sul telefono corrispondono a
Probabilmente non si vuole usare il tempo localizzata nella comunicazione tra client e server, dal momento che non si può essere sicuro di quello che il locale ora sul client sarà. –
il valore 1340661899000L non dovrebbe essere un ora locale, voglio solo per visualizzare ciò che un dato momento sarebbe nel dispositivo fuso orario –
Expecting sia client che server per essere nella stessa modalità fuso orario/è quello che stavo suggerendo di evitare. –