Tengo un tiempo en la zona horaria EST, se hace usando la función NOW() en el servidor mysql. Como mi servidor se encuentra en EST, el tiempo almacenado está en EST. Cuando lo recupero de mi aplicación en el iPhone, debo mostrarlo en el huso horario correcto del usuario. ¿Cómo puedo hacer eso?¿Cómo convertir el tiempo a la zona horaria del dispositivo iPhone?
20
A
Respuesta
3
Creo que depende de lo que quiere decir con EST - si se refiere a la costa este de EE. UU., En general, eso es 5 horas menos que UTC (pero no corresponde al horario de verano), que debería proporcionarle 04:00 EST. Intente evitar el uso de abreviaturas cuando sea posible, ya que son ambiguas, p. EST es la abreviatura de América/Detroit y Australia/Sydney. Usar NSTimeZone initWithName dará resultados más precisos.
El Chronos Time Zone Repository proporciona una base de datos de zona horaria XML agradablemente legible que realmente ayuda a entender cómo funcionan las zonas horarias (todo es bastante desordenado y modificable).
3
// Usted puede utilizar la función de abajo para convertir la fecha a una zona horaria que desea
+ (NSDate *) convertDate:(NSDate *) date toTimeZone:(NSString *) timeZoneAbbreviation {
NSTimeZone *systemZone = [NSTimeZone systemTimeZone];
NSTimeZone *zoneUTC = [NSTimeZone timeZoneWithAbbreviation:timeZoneAbbreviation];
NSTimeInterval s = [zoneUTC secondsFromGMT];
NSTimeZone *myZone = [NSTimeZone timeZoneWithAbbreviation:[systemZone abbreviationForDate:date]];
NSTimeInterval p = [myZone secondsFromGMT];
NSTimeInterval i = s-p;
NSDate *d = [NSDate dateWithTimeInterval:i sinceDate:date];
return d;
}
//Test case **note** cgUtil is the class this method is written thus change it accordingly
__block NSDate *now = [NSDate date];
NSLog(@"Current time:%@", now);
[[[NSTimeZone abbreviationDictionary] allKeys] enumerateObjectsUsingBlock:^(NSString * abb, NSUInteger idx, BOOL *stop) {
NSLog(@"Time zone abb:%@:Time:%@",abb,[cgUtil convertDate:now toTimeZone:abb]);
}];
Cuestiones relacionadas
- 1. zona horaria local del dispositivo
- 2. Cómo convertir el tiempo de fecha de una zona horaria a otra zona horaria
- 3. Obtener la fecha y hora de la zona horaria del dispositivo iPhone actual desde la aplicación UTC-5 de la zona horaria y la aplicación iPhone?
- 4. Cómo ignorar la zona horaria del usuario y forzar la fecha() utiliza la zona horaria específica
- 5. Convertir UTC DateTime a otra zona horaria
- 6. NSDate no devuelve mi zona horaria local/zona horaria predeterminada del dispositivo
- 7. Cómo convertir DateTime en zona horaria específica?
- 8. ¿Cómo obtener la zona horaria del cliente?
- 9. ¿Cómo especificar la zona horaria (UTC) al convertir a tiempo Unix? (Python)
- 10. cómo detectar la zona horaria del cliente?
- 11. Convertir fechas JSON sin zona horaria
- 12. ¿Cómo detectar automáticamente la zona horaria del usuario?
- 13. Cómo convertir el tiempo en formato YYYY-MM-DDTHH: mm: ss.SSSZ en la zona horaria predeterminada?
- 14. Python: Convertir hora local a otra zona horaria
- 15. Cambiar la zona horaria sin cambiar el tiempo en Java
- 16. ajustar la zona horaria
- 17. Posición del GPS en la zona horaria
- 18. Tiempo de conversión WCF basado en la zona horaria automáticamente
- 19. Java: zona horaria por la que la zona horaria diferente da el mismo valor en milisec
- 20. Convirtiendo una marca de tiempo de UNIX a NSdate usando la zona horaria local
- 21. SimpleDateFormat lleva demasiado tiempo cuando la zona horaria se incluye
- 22. Convertir la marca de tiempo de la cadena (con el desplazamiento de la zona horaria) a la hora local. . ? python
- 23. java incorrecta zona horaria
- 24. Python pytz Convertir una marca de tiempo (formato de cadena) de una zona horaria a otra
- 25. Python Zona horaria conversión
- 26. postgres zona horaria predeterminada
- 27. ruby get Tiempo en la zona horaria dada
- 28. ¿NSDate en CoreData encapsula la zona horaria?
- 29. Fecha de PostgreSQL() con la zona horaria
- 30. Cómo convertir datetime a timestamp usando C# /. NET (ignorando la zona horaria actual)