Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Senarai Drop Down Zon Waktu untuk Pengguna Menggunakan PHP?

Bagaimana untuk Menjana Senarai Drop Down Zon Waktu untuk Pengguna Menggunakan PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-19 21:55:02588semak imbas

How to Generate a Drop Down List of Timezones for Users Using PHP?

Menjana Senarai Drop Down Zon Waktu dengan PHP

Pengenalan

Memaparkan tarikh dan masa yang betul adalah penting untuk sebarang laman web. Satu cabaran ialah menyediakan cara untuk pengguna memilih zon waktu pilihan mereka semasa pendaftaran. Artikel ini akan meneroka tiga kaedah berbeza untuk menjana senarai juntai bawah zon waktu menggunakan PHP.

Kaedah 1: Zon Waktu Berkod keras

Kaedah pertama melibatkan mencipta senarai secara manual zon waktu dengan offset yang sepadan. Berikut ialah contoh:

<code class="html"><select>
  <option value="-12">UTC - 12:00</option>
  <option value="-11">UTC - 11:00</option>
  <option value="-10">UTC - 10:00</option>
  <!-- ... add more timezones here -->
</select></code>

Walaupun kaedah ini mudah, ia memerlukan penyelenggaraan manual apabila zon waktu baharu atau perubahan kepada yang sedia ada timbul.

Kaedah 2: Kelas DateTimeZone PHP

PHP 5 memperkenalkan kelas DateTimeZone, yang menyediakan senarai zon waktu yang komprehensif. Kod berikut akan menjana senarai lungsur menggunakan kelas ini:

<code class="php"><?php
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
echo '<select>';
foreach ($timezones as $timezone) {
  echo '<option value="' . $timezone . '">' . $timezone . '</option>';
}
echo '</select>';
?></code>

Kaedah ini menawarkan pendekatan yang lebih dinamik, tetapi ia memerlukan sedikit pengetahuan pengaturcaraan dan mungkin termasuk zon waktu yang tidak berkaitan dengan pangkalan pengguna anda.

Kaedah 3: Senarai Singkatan Zon DateTime PHP

Sebagai alternatif, anda boleh menggunakan kaedah DateTimeZone::listAbbreviations() PHP, yang menyediakan senarai zon waktu berdasarkan singkatannya. Berikut ialah kodnya:

<code class="php"><?php
$abbreviations = DateTimeZone::listAbbreviations();
echo '<select>';
foreach ($abbreviations as $timezone) {
  foreach ($timezone as $key => $info) {
    if ($info['timezone_id']) {
      echo '<option value="' . $info['timezone_id'] . '">' . $key . '</option>';
    }
  }
}
echo '</select>';
?></code>

Kaedah ini menggabungkan fleksibiliti kelas DateTimeZone dengan senarai singkatan yang lebih mesra pengguna. Ia sesuai untuk mempersembahkan pelbagai zon waktu kepada pengguna dengan cara yang boleh dibaca.

Pengesyoran

Kaedah terbaik untuk aplikasi anda bergantung pada keperluan khusus anda. Kaedah 3, menggunakan kaedah DateTimeZone::listAbbreviations(), menawarkan keseimbangan fleksibiliti, kebolehgunaan dan penyelenggaraan yang rendah. Ia merupakan penyelesaian yang mantap untuk kebanyakan senario di mana pengguna perlu memilih zon waktu pilihan mereka.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Drop Down Zon Waktu untuk Pengguna Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn