Kebanyakan tapak web memerlukan cara untuk memaparkan tarikh dalam zon waktu pilihan pengguna. Di bawah ialah dua senarai zon waktu yang boleh digunakan, serta satu kaedah menggunakan kelas DateTime PHP terbina dalam yang tersedia dalam PHP 5 dan lebih baru.
Menggunakan Senarai Zon Waktu Berkod Tegar
Kaedah ini melibatkan pembuatan senarai zon waktu secara manual, sama ada sebagai nilai dalam HTML
<code class="html"><option value="-12">(GMT - 12) Baker Island Time</option> <option value="-11">(GMT - 11) Niue Time, Samoa Standard Time</option></code>
Kaedah ini mudah dan boleh digunakan tanpa sebarang perpustakaan atau kod tambahan. Walau bagaimanapun, ia boleh memakan masa untuk mengekalkan senarai kerana zon waktu baharu ditambah atau dialih keluar. Selain itu, mengetahui zon waktu yang berkaitan dengan negara pengguna boleh menjadi sukar.
Menggunakan Fungsi Tarikh dan Masa PHP
PHP menyediakan beberapa fungsi dan objek yang boleh digunakan untuk mengurus zon waktu. Kelas DateTimeZone membolehkan anda mencipta objek zon waktu dan mengakses offsetnya daripada UTC. Kelas DateTime membolehkan anda mencipta objek tarikh dan menetapkan zon waktunya. Menggunakan kelas ini, anda boleh menjana senarai juntai bawah zon waktu secara dinamik.
<code class="php">$timezones = DateTimeZone::listAbbreviations(); foreach ($timezones as $tz) { $name = $tz['timezone_id']; $offset = $tz['offset']; echo "<option value=\"$name\">$name (UTC $offset)</option>"; }</code>
Kaedah ini lebih fleksibel daripada menggunakan senarai berkod keras. Ia boleh mendapatkan semula senarai zon waktu semasa daripada pemasangan PHP dan melaraskan secara automatik untuk perubahan dalam masa penjimatan siang. Walau bagaimanapun, ia memerlukan lebih banyak kod untuk dilaksanakan dan mungkin tidak disokong dengan baik pada versi PHP yang lebih lama.
Kaedah Mana Yang Terbaik?
Kaedah terbaik untuk menjana senarai juntai bawah zon waktu bergantung pada keperluan khusus aplikasi. Jika senarai zon waktu adalah kecil dan tidak mungkin berubah, maka penggunaan nilai berkod keras mungkin mencukupi. Jika senarai itu besar atau dinamik, maka menggunakan kelas DateTimeZone atau kelas DateTime mungkin merupakan pilihan yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Drop-Down Zon Waktu dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!