Question

Je suis en train de convertir une chaîne à ce jour dans un fuseau horaire séparé de la zone horaire du système actuel. Je définir le fuseau horaire du DateFormatter à ce fuseau horaire. Mais le NSDate que je reçois est toujours dans mon fuseau horaire.

Par exemple, mon fuseau horaire est PDT. J'ai mis le fuseau horaire du DateFormatter au CST. J'ai une chaîne avec le temps dans CST. Mais quand je l'utilise formatter date pour convertir cette chaîne à ce jour, je reçois la date dans la PDT, alors que je veux dans CST.

Quelqu'un peut-il s'il vous plaît aider.

Merci.

Était-ce utile?

La solution

NSDate ne stocke que les secondes depuis 00:00:00 1 janvier 2001. La description de NSDate utilisera votre fuseau horaire (si essayez de déboguer avec NSLog par exemple).

Vous devez obtenir le fuseau horaire par défaut avec

[NSTimeZone defaultTimeZone] 

et ensuite calculer le décalage en utilisant

-(NSTimeInterval)secondsFromGMT
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top