0

次のコードでは、foo は現地時間または GMT を教えてくれますか?

NSString * foo = [formatter2 stringFromDate:[NSDate dateWithTimeIntervalSinceNow:-2 * 3600]];  
4

1 に答える 1

1

文字列 は、現在のflyeridタイムゾーンの2時間を引いた時間を表します。これが日付フォーマッターの目的です。日付フォーマッターは、デフォルトでコンピューターのロケール情報を使用して、渡された日付をユーザーが期待するものに最も近い表現に変換します。これには、コンピューターのタイムゾーンの使用も含まれます。(もちろん、setTimeZone:フォーマッターに送信することで変更できます。)

日付オブジェクト自体にはタイムゾーンがありません。それはほんの一瞬であり、その説明や表現はあなたが地球上のどこにいるかによって異なります。たとえば、ジョンレノンが死んだと宣言された瞬間は、現地時間(GMT-5)では1980年12月8日午前11時15分として表されますが、米国の西海岸では午前8時15分です。レノンの出生地では、午後4時15分です。彼は一度だけ死んだと宣言されましたが、同じ瞬間、それを読む方法は異なります。

于 2012-04-18T17:51:10.467 に答える