According to these docs from Apple, NSDateFormatter
uses the Unicode date format patterns, which are part of "Unicode Technical Standard #35". This standard is evolving, and iOS 5 uses version 19 while iOS 6 uses version 25.
You can read about the supported values for the time zone in "Appendix J: Time Zone Display Names" (version 19 or version 25).
I am not exactly sure why PHT
was supported before and not it isn't. But in general, the best advice I can give is to avoid using time zone abbreviations. While PHT
is unique, there are many other abbreviations that are ambiguous. See the list here.
Instead, you should uses the IANA time zone name whenever possible. (The tr-35 standard calls this the "Golden Zone"). In your case, it would be Asia/Manila
. You can find a full list here. I am not an Objective C developer, so I'm not sure exactly how you would use this in your input string. You can try the VVVV
format specifier, but I'm not sure if it directly accepts the IANA name or not.
You might want to check the results from [NSTimeZone abbreviationDictionary]
as shown in this answer. In that post, it does show PHT = "Asia/Manila"
, but I assume by the date that it was posted that these were generated from iOS 5.