PHP Conference China 2020

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7)

DateTimeZone::listIdentifiers -- timezone_identifiers_listRetourne un tableau numérique contenant tous les identifiants de fuseaux horaires définis

Description

Style orienté objet

public static DateTimeZone::listIdentifiers ([ int $timezoneGroup = DateTimeZone::ALL [, string $countryCode = NULL ]] ) : array

Style procédural

timezone_identifiers_list ([ int $timezoneGroup = DateTimeZone::ALL [, string $countryCode = NULL ]] ) : array

Liste de paramètres

timezoneGroup

Une (ou une combinaison) des constantes de classe DateTimeZone.

countryCode

Un code de pays en deux lettres, compatible ISO 3166-1.

Note: Cette option n'est disponible que lorsque le paramètre timezoneGroup prend la valeur de DateTimeZone::PER_COUNTRY.

Valeurs de retour

Retourne un tableau en cas de succès ou FALSE si une erreur survient.

Historique

Version Description
5.3.0 Ajout des paramètres optionnels timezoneGroup et countryCode.

Exemples

Exemple #1 Exemple avec timezone_identifiers_list()

<?php
$timezone_identifiers 
DateTimeZone::listIdentifiers();
for (
$i=0$i 5$i++) {
    echo 
"$timezone_identifiers[$i]\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
21
kalle at example dot com
4 years ago
Even though the manual currently says that the first parameter has to be "One of DateTimeZone class constants", you may actually combine these constants:

<?php
  $a
= DateTimeZone::listIdentifiers(DateTimeZone::AFRICA); //gives africa time zones
 
$b = DateTimeZone::listIdentifiers(DateTimeZone::AMERICA); //gives american time zones
 
$c = DateTimeZone::listIdentifiers(DateTimeZone::AFRICA | DateTimeZone::AMERICA); //gives both african and american time zones
?>

Be sure to use |, not ||.
up
1
repohelga at example dot com
10 months ago
Beware that the ISO 3166-1 country code passed to second parameter $country has to be in capital letters (eg. 'US', 'DE', ...).
Passing the country code in lower case like 'us' or 'de' will not return the failure-value false but just an empty array.
up
-1
PHP Guru
3 months ago
In tests that I have done, not all time zones are returned by this function. For example the following aliases Asia/Katmandu and Asia/Calcutta are not returned, but these time zones are supported in tests that I have done such as the following:

<?php
echo date_default_timezone_set('Asia/Calcutta');
?>

result:

Fri, 19 Jun 2020 03:26:52 +0530

UTC+05:30 is the correct time zone for Calcutta.

Asia/Katmandu and Asia/Calcutta are aliases for Asia/Kathmandu and Asia/Kolkata respectively (which can be found in the list)

Hopefully this helps some people because without these time zones appearing in the list one might not know that they are supported or even exist.
To Top