2

私はタイムゾーンを持っています:OS Xの中央ヨーロッパ夏時間(場所に基づいて自動的に)。シミュレーターでコードを実行すると、次の結果が得られます。

NSTimeZone *tz = [NSTimeZone localTimeZone]; // Gives me Local Time Zone (Europe/Warsaw (CEST) offset 7200 (Daylight))

NSString *tzString = [tz localizedName:NSTimeZoneNameStyleShortStandard
                                locale:[NSLocale currentLocale]]; // Gives me CET

EDT / EST と同じ - システム -> 環境設定で現在の時刻を EDT として設定すると、適切なメソッドが EST を返します。

何か不足していますか?

4

2 に答える 2

4

Standardin は、具体NSTimeZoneNameStyleShortStandard的には、タイム ゾーンの DST 以外の名前を意味します。

DST 名を使用するか、ある日付の DST ステータスに依存しない場合は、おそらく を使用-isDaylightSavingTimeForDate:して決定する必要NSTimeZoneNameStyleShortStandardがありますNSTimeZoneNameStyleShortDaylightSaving

于 2013-09-09T21:10:57.053 に答える
0

Apple は、タイムゾーンの省略形の使用について警告しています。既知のオフセットを使用して計算することをお勧めします +timeZoneForSecondsFromGMT:

このプロパティ-daylightSavingTimeを使用して、夏時間の状況を確認します。

于 2015-02-23T12:35:54.480 に答える