In PHP I am using DateTimeZone::listIdentifiers()
to get a list of time zones for user selection. This seems to be working fine, but missing from this list are
Just guessing here, but it looks like the default $what
parameter is DateTimeZone::ALL
, and you want to use identifiers that only exist now for backwards compatibility - so you should use DateTimeZone::ALL_WITH_BC:
print_r(DateTimeZone::listIdentifiers(DateTimeZone::ALL_WITH_BC));
Note that the manual does say not to use them.
In the case of Iran, you could replace it with the Asia/Tehran time zone for example.