Ho bisogno di convertire una stringa data recuperati da un server, per NSDate locali, la stringa si presenta come:NSDateFormatter: come convertire la stringa di data con "GMT" in NSDate locale?
"Fri, 30 Nov 2012 00:35:18 GMT"
Ma ora è Venerdì 30 novembre, 11:36, quindi come faccio a convertire il stringa ad un NSDate locale significativo?
ho trovato:
iPhone: NSDate convert GMT to local time
ma sembra che si fa il contrario.
Oops; Ho avuto le frecce sbagliate nella mia risposta. +1. Sebbene sia comunque necessario impostare le impostazioni in modo esplicito, altrimenti "NSDateFormatter" si riserva il diritto di modificare la stringa di formattazione esatta. – Tommy
@Tommy: Se non sbaglio, le impostazioni internazionali sono predefinite come impostazioni internazionali correnti. Ho appena installato NSLog dataFormatter.locale.localeIdentifier (senza impostarlo) e mi ha dato "en_US", che è il mio locale corrente. Ecco perché non l'ho impostato, perché lo voleva nel fuso orario locale. – lnafziger
@lnafziger locale e fuso orario sono proprietà indipendenti. L'uso delle impostazioni locali 'en_US_POSIX' è importante quando si lavora con stringhe data/ora a formato fisso. Senza di esso, è possibile che il formato venga modificato dietro la schiena in base a cose come l'impostazione 24 ore dell'utente (come un esempio). L'impostazione delle impostazioni internazionali non ha alcun effetto sul fuso orario del formato. Vedi il QA1480 a cui @Tommy fa riferimento nella sua risposta. – rmaddy