PDA

Ver la Versión Completa : [ CONSULTA ] Resultado distinto en el emulador y en el dispotivo (Clase Calendar)


ericguti.90
29/04/13, 21:31:35
Hola a todos tengo una duda, estoy haciendo una miniaplicación que dada una fecha posterior a la actual me calcula la diferencia de tiempo. Lo que hago es primero de todo seria esto:

final Calendar c = Calendar.getInstance();
c.set(bundle.getInt("ANO"), bundle.getInt("MES"), bundle.getInt("DIA"), bundle.getInt("HORA"),bundle.getInt("MIN"),0);

con esto lo que hago es hacer un Calendar de la fecha que me dan. luego llamo a la funcion que calcula la diferencia:

void actualizar_hora(Bundle bundle, Calendar c) {
Calendar c1 = Calendar.getInstance();
Calendar aux = Calendar.getInstance();
aux.setTimeInMillis(c.getTimeInMillis() - c1.getTimeInMillis());
ano = aux.get(Calendar.YEAR)-1970;
mes = aux.get(Calendar.MONTH);
dia = aux.get(Calendar.DAY_OF_MONTH)-1;
hora =aux.get(Calendar.HOUR_OF_DAY);
min = aux.get(Calendar.MINUTE);
seg = aux.get(Calendar.SECOND);
}
No se porque al año restandole 1970 funciona perfecto xD (Esa no es la duda que tengo).
La duda que tengo es que cuando lo ejecuto en el emulador de Android en Eclipse funciona perfecto pero si lo pruebo en el dispositivo móvil me sale una hora de mas. Es decir si son las 21:30 y le digo que me calcule la diferencia entre esa hora y las 21:31 en el emulador me sale que me falta un minuto y en el dispositivo móvil me sale que me falta una hora y un minuto :S, he probado varios casos y a todos me sale una hora mas :S alguien sabe el porque?

Muchas gracias de antemano por la ayuda!

providez
30/04/13, 09:25:57
puede que sea por cosas del horario de verano de gmt+1 y gmt+2...

lee esto http://stackoverflow.com/questions/7887260/calendar-not-returning-gmt y depura haciendo pruebas sobre tu dispositivo, a ver si consigues algo.

ericguti.90
30/04/13, 14:41:29
Parece ser que tiene que ver con algo del gmt+1... pero no se como hacerlo ya que si miro la hora es la buena pero al hacer la resta no se porque lo tiene en cuenta el +1 ese.. :S alguien sabe como puedo controlarlo o si en la clase calendar hay alguna función que devuelva el gmt?? muchas gracias!!

ericguti.90
30/04/13, 15:51:44
Explico lo que he ido viendo... da igual el gmt que ponga siempre me da una hora mas excepto si es gmt0!!!!! alguna idea?? :S