[DOC-CVS] [doc-en] master: DateTimeZone::listIdentifiers improvements (#4882)
[email protected] (AllenJB via GitHub)
| Newsgroups | php.doc.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: AllenJB (AllenJB) Committer: GitHub (web-flow) Pusher: derickr Date: 2025-12-09T08:46:27Z Commit: https://github.com/php/doc-en/commit/c018a4d2c85ac429f238f78679eca46d86c63a31 Raw diff: https://github.com/php/doc-en/commit/c018a4d2c85ac429f238f78679eca46d86c63a31.diff DateTimeZone::listIdentifiers improvements (#4882) * DateTimeZone::listIdentifiers improvements * DateTimeZone::listIdentifiers improvements * DateTimeZone::listIdentifiers improvements (removed runnable annotations - see #4887 ) * Update reference/datetime/datetimezone/listidentifiers.xml Co-authored-by: Gina Peter Banyard <[email protected]> * Update reference/datetime/datetimezone/listidentifiers.xml Co-authored-by: Gina Peter Banyard <[email protected]> --------- Co-authored-by: Gina Peter Banyard <[email protected]> Changed paths: M reference/datetime/datetimezone/listidentifiers.xml Diff: diff --git a/reference/datetime/datetimezone/listidentifiers.xml b/reference/datetime/datetimezone/listidentifiers.xml index 1dda356bb724..e8093ad0b57f 100644 --- a/reference/datetime/datetimezone/listidentifiers.xml +++ b/reference/datetime/datetimezone/listidentifiers.xml @@ -20,6 +20,18 @@ <methodparam choice="opt"><type>int</type><parameter>timezoneGroup</parameter><initializer>DateTimeZone::ALL</initializer></methodparam> <methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>countryCode</parameter><initializer>&null;</initializer></methodparam> </methodsynopsis> + <simpara> + Return the list of <link xlink:href="&url.wiki.tzdb.names;">IANA Time Zone identifiers</link>. + </simpara> + + <note> + <simpara> + It's possible to detect the client (browser) timezone with JavaScript using + <link xlink:href="&url.js.intl-datetimeformat;">Intl.DateTimeFormat</link> or + <link xlink:href="&url.js.temporal-zoneddatetime;">Temporal.ZonedDateTime</link>. + </simpara> + </note> + </refsect1> <refsect1 role="parameters"> @@ -96,25 +108,28 @@ &reftitle.examples; <para> <example> - <title>A <methodname>DateTimeZone::listIdentifiers</methodname> example</title> + <title>List identifiers with location comments</title> <programlisting role="php"> <![CDATA[ <?php -$timezone_identifiers = DateTimeZone::listIdentifiers(); -for ($i=0; $i < 5; $i++) { - echo "$timezone_identifiers[$i]\n"; +$identifiers = DateTimeZone::listIdentifiers(DateTimeZone::ALL); + +foreach ($identifiers as $tzid) { + $tz = new DateTimeZone($tzid); + $comments = $tz->getLocation()['comments']; + echo $tzid . " (" . ($comments ?: 'Whole region') . ")\n"; } -?> ]]> </programlisting> &example.outputs.similar; <screen> <![CDATA[ -Africa/Abidjan -Africa/Accra -Africa/Addis_Ababa -Africa/Algiers -Africa/Asmara +America/Antigua (Whole region) +America/Araguaina (Tocantins) +America/Argentina/Buenos_Aires (Buenos Aires (BA, CF)) +America/Argentina/Catamarca (Catamarca (CT), Chubut (CH)) +America/Argentina/Cordoba (Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF)) +// (Output trimmed due to length) ]]> </screen> </example> @@ -130,7 +145,6 @@ $timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::ASIA ); for ($i=0; $i < 5; $i++) { echo "$timezone_identifiers[$i]\n"; } -?> ]]> </programlisting> &example.outputs.similar; @@ -154,7 +168,6 @@ Asia/Aqtau <?php $timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::ASIA | DateTimeZone::PACIFIC ); echo join( ', ', $timezone_identifiers ); -?> ]]> </programlisting> &example.outputs.similar; @@ -201,7 +214,6 @@ $timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::PER_COUNTRY foreach( $timezone_identifiers as $identifier ) { echo "$identifier\n"; } -?> ]]> </programlisting> &example.outputs.similar;