2009-05-26 10 views
2

J'essaye de convertir une chaîne à ce jour dans un fuseau horaire séparé du fuseau horaire actuel du système. J'ai défini le fuseau horaire de la dateformatter à ce fuseau horaire. Mais le NSDate que je reçois est toujours dans mon fuseau horaire actuel. Par exemple, mon fuseau horaire actuel est PDT. J'ai défini le fuseau horaire de DateFormatter à CST. J'ai une chaîne avec le temps en CST. Mais quand j'utilise le formateur de date pour convertir cette chaîne à ce jour, je reçois la date dans PDT, alors que je la veux dans CST.Covert NSString à NSDate dans un fuseau horaire différent

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

Merci.

Répondre

1

NSDate stocke uniquement les secondes depuis 00:00:00 01 Janv. 2001. La description de NSDate utilisera votre fuseau horaire actuel (si vous essayez de déboguer avec NSLog par exemple).

Vous devez obtenir le fuseau horaire par défaut avec

[NSTimeZone defaultTimeZone] 

puis calculer le décalage en utilisant

-(NSTimeInterval)secondsFromGMT 
Questions connexes