2009-05-26 10 views
2

現在のシステムタイムゾーンとは別のタイムゾーンで日付に文字列を変換しようとしています。私はこのタイムゾーンにdateformatterのタイムゾーンを設定しました。しかし、私が得るNSDateは、常に私の現在のタイムゾーンにあります。別のタイムゾーンのNSDateへの秘密NSString

たとえば、現在のタイムゾーンはPDTです。私はDateFormatterのタイムゾーンをCSTに設定しました。私はCSTで時間の文字列を持っています。しかし、私はこの文字列を日付に変換するために日付フォーマッタを使用すると、PDTで日付を取得しますが、CSTで日付を取得します。

助けてもらえますか?

ありがとうございました。

答えて

1

NSDateは、2001年1月1日00:00:00からの秒数だけを保存します。NSDateの説明には、現在のタイムゾーンが使用されます(たとえば、NSLogでデバッグしようとすると)。

あなたは

[NSTimeZone defaultTimeZone] 

で、デフォルトのタイムゾーンを取得し、

-(NSTimeInterval)secondsFromGMT 
を使用してオフセットを計算しなければなりません