2012-04-30 3 views
0

iOS 5(シミュレータとデバイス)では、タイムゾーンICTで日付文字列を解析しようとしたときに、(null)が返されます。 1つの奇妙なことは、このタイムゾーンがiOS4.3で正常に動作するために使用されていたことです。 なぜNSDateFormatterがICT TimeZoneで動作しないのですか

NSString *inputDateStr = @"Fri, 06 Apr 2012 13:00:00 ICT"; 
NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"]; 
NSDate *inputDate = [df dateFromString:inputDateStr]; 
NSLog(@"--- INPUT %@ -> %@ ---",inputDateStr, inputDate); 

--- INPUT Fri, 06 Apr 2012 13:00:00 ICT -> (null) ---

しかし、私はPSTのように、他のタイムゾーンをしようとしたとき、それが動作!?

NSString *inputDateStr = @"Fri, 06 Apr 2012 13:00:00 PST"; 

--- INPUT Fri, 06 Apr 2012 13:00:00 PST -> 2012-04-06 21:00:00 +0000 ---

私は[NSTimeZone abbreviationDictionary]をプリントアウトし、まだそこにICTを参照してください。したがって、このタイムゾーンはまだ有効です。だから、なぜ私は(null)を得るのですか?

答えて

0

タイムゾーン名はロケール固有のものであり、異なる言語のものを意味する場合もあるし、全く存在しない場合もあります。

例えば、安定した機能のための

ICTジルクロゼ時間4
ICTインドシナ時間7

使用GMT + XX。

EDIT:セクションには、 "タイムゾーン表示名" と呼ばれているhttp://unicode.org/repos/cldr/trunk/docs/web/tr35.html#Time_Zone_Fallback

注:

は、タイムゾーンの詳細については、このリンクを参照してください。これらの名前は、構文解析に使用されることは決して意図されていませんでした。それらは、(例えば、ZZZパターンの結果として)表示されることを意味する。

+0

ええ、確かに安定しています。しかし、GMTを使用すると夏時間の節約はありません。 – Hlung

+0

PSTにはサマータイムもありません。 「太平洋標準時(PST)」と「太平洋夏時間(PDT)」があります。しかし、PSTは「パキスタン標準時」を意味し、ロケール(cs-CZ)ではPSTはまったく使用できません。 – Sulthan

+0

詳細情報を追加しました。 – Sulthan

関連する問題