Ho un tempo nel fuso orario EST, è fatto usando la funzione NOW() sul server mysql. Poiché il mio server si trova in EST, il tempo memorizzato è in EST. Quando lo recupero dalla mia app su iPhone, ho bisogno di visualizzarlo nel fuso orario corretto dell'utente. Come lo faccio?Come convertire l'ora nel fuso orario del dispositivo iPhone?
20
A
risposta
3
Penso che dipenda da cosa intendi per EST - se intendi East Coast US, quindi in generale, che è 5 ore indietro rispetto a UTC (ma non conta per l'ora legale), che dovrebbe darti 04:00 EST. Cerca di evitare l'uso di abbreviazioni laddove possibile, poiché sono ambigue, ad es. EST è l'abbreviazione di America/Detroit e Australia/Sydney. Usando NSTimeZone initWithName darà risultati più precisi.
Il Chronos Time Zone Repository fornisce un database timezone XML ben leggibile che aiuta davvero a capire come funzionano i fusi orari (è tutto piuttosto confuso e mutevole).
3
// È possibile utilizzare la funzione di seguito per convertire data per un fuso orario che si desidera
+ (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]);
}];
Problemi correlati
- 1. Ottenere fuso orario locale del dispositivo
- 2. Come cambiare il fuso orario e il fuso orario nel simulatore iPhone?
- 3. Convertire fuso orario locale a PST fuso orario in C#
- 4. iPhone: trova l'offset del fuso orario corrente in ORE
- 5. iPhone NSDateFormatter Fuso orario di conversione
- 6. Come convertire la data da un fuso orario a un altro fuso orario
- 7. conversione fuso orario Silverlight
- 8. Django: emissione del fuso orario
- 9. Ottieni fuso orario/paese da iPhone
- 10. NSDate - Compensazione del fuso orario
- 11. Come ottenere il fuso orario del cliente?
- 12. Cambia fuso orario del browser
- 13. Twitter - Fuso orario del Tweeet
- 14. Conversione del fuso orario in php
- 15. Conversione del fuso orario nella query SQL
- 16. MySQL può convertire un orario UTC memorizzato nel fuso orario locale?
- 17. come rilevare il fuso orario del client?
- 18. Come convertire DateTime in un fuso orario specifico?
- 19. javascript toISOString() ignora l'offset del fuso orario
- 20. Come ottenere il fuso orario locale dell'utente diverso dal fuso orario del server (UTC) in python?
- 21. git commit fuso orario
- 22. Modifica del fuso orario dei dati
- 23. Ricevi la data e l'ora attuali del fuso orario del dispositivo iPhone dalla data e ora dell'ora UTC-5 dell'app per iPhone?
- 24. Data PostgreSQL() con fuso orario
- 25. Campo datetime Django - convertire in fuso orario in vista
- 26. Conversione data ora da fuso orario a fuso orario in server sql
- 27. javascript Data fuso orario
- 28. H2 predefinito fuso orario
- 29. regolare il fuso orario
- 30. fuso orario russo cambia