Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 29/04/13, 21:31:35
Avatar de ericguti.90
ericguti.90 ericguti.90 no está en línea
Miembro del foro
Mensajes: 173
 
Fecha de registro: mar 2011
Mensajes: 173
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
Resultado distinto en el emulador y en el dispotivo (Clase Calendar)

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 (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!
Responder Con Cita


  #2  
Viejo 30/04/13, 09:25:57
Avatar de providez
providez providez no está en línea
Miembro del foro
Mensajes: 210
Compra y venta: (2)
 
Fecha de registro: may 2009
Mensajes: 210
Modelo de smartphone: Moto G / Motorola Xoom
Versión de ROM: Moto G Stock 4.4.2 / USA Stock 4.1.1
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
puede que sea por cosas del horario de verano de gmt+1 y gmt+2...

lee esto http://stackoverflow.com/questions/7...-returning-gmt y depura haciendo pruebas sobre tu dispositivo, a ver si consigues algo.
Responder Con Cita
  #3  
Viejo 30/04/13, 14:41:29
Avatar de ericguti.90
ericguti.90 ericguti.90 no está en línea
Miembro del foro
Mensajes: 173
 
Fecha de registro: mar 2011
Mensajes: 173
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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!!
Responder Con Cita
  #4  
Viejo 30/04/13, 15:51:44
Avatar de ericguti.90
ericguti.90 ericguti.90 no está en línea
Miembro del foro
Mensajes: 173
 
Fecha de registro: mar 2011
Mensajes: 173
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 16:54:16 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007