2012-05-27 47 views
53

de mi sistema es del 26 de mayo de 22:55, pero cuando llegue la fecha con [NSDate date] fecha y hora es de 27 de mayo de 02:35Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora

es que debido a la zona horaria?

si es así cómo resolver este problema, que cuando llegue la fecha y hora, dame la fecha de mi sistema y no comprueba zona horaria

+3

¿Cómo se usted determina qué es el objeto de fecha? ¿Lo estás registrando? Si es así, es probable que imprima su hora como UTC. Entonces, sí, es la zona horaria. El objeto tiene la fecha y la hora correctas, solo está formateándolo para mostrarlo en Tiempo Universal Coordinado. –

Respuesta

121
NSLocale* currentLocale = [NSLocale currentLocale]; 
[[NSDate date] descriptionWithLocale:currentLocale]; 

o utilizar

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
// or @"yyyy-MM-dd hh:mm:ss a" if you prefer the time with AM/PM 
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]); 
+6

para los novatos (y para decir lo obvio) ... es NSLog, no NSlog en la última línea ... solo un error tipográfico. – fazhool

+5

Otro pequeño problema. '@" aaaa-MM-dd hh: mm: ss "' no es un buen formato de fecha, ya que dará 0-12 veces sin sufijo AM/PM. Una mejor es '@" aaaa-MM-dd hh: mm: ss a "' o '@" aaaa-MM-dd HH: mm: ss "' (para formato de 0-24 horas). – Alvaro

+0

¡Gracias! Está funcionando bien. – Raja