Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar cap masa kepada masa dalam zon waktu berbeza dalam PHP

Bagaimana untuk menukar cap masa kepada masa dalam zon waktu berbeza dalam PHP

PHPz
Lepaskan: 2023-03-29 17:42:01
asal
1215 orang telah melayarinya

PHP ialah bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas, dan fungsi cap masa kepada masanya sangat praktikal. Walau bagaimanapun, apabila kita perlu mempertimbangkan zon waktu yang berbeza, kita perlu menambah penukaran zon waktu berdasarkan cap waktu. Dalam artikel ini, kita akan membincangkan cara menukar cap masa kepada masa dalam zon waktu berbeza dalam PHP.

  1. Fahami konsep zon waktu

Sebelum melakukan penukaran masa, kita perlu menjelaskan konsep zon waktu. Zon waktu merujuk kepada peraturan bahawa semua orang di rantau menggunakan masa standard yang sama. Biasanya setiap zon waktu mempunyai bandar perwakilan, seperti UTC-8 untuk zon waktu Los Angeles.

  1. Dapatkan cap masa semasa

Fungsi untuk mendapatkan cap masa semasa dalam PHP ialah masa(), yang mengembalikan masa sistem semasa dan masa UTC pada Januari 1970 Perbezaan dalam saat antara 0 jam, 0 minit dan 0 saat pada 1hb.

Contohnya:

$timestamp = time();
Salin selepas log masuk
  1. Tukar kepada zon waktu yang ditentukan

Sebelum menukar cap waktu kepada masa dalam zon waktu yang ditentukan, zon masa sasaran perlu ditentukan dahulu, kemudian tukar cap masa semasa kepada cap masa dalam zon waktu ini, dan akhirnya gunakan fungsi date() PHP untuk memformatkannya ke dalam format masa yang diperlukan.

Contohnya, tukar cap masa semasa kepada waktu Beijing (CST):

$timestamp = time();
$target_timezone = new DateTimeZone('Asia/Shanghai');
$date_time = new DateTime('@' . $timestamp);
$date_time->setTimeZone($target_timezone);
$beijing_time = $date_time->format('Y-m-d H:i:s');
echo $beijing_time;
Salin selepas log masuk

Penjelasan kod ini adalah seperti berikut:

  • Barisan 1 mendapat cap masa semasa.
  • Barisan 2 mencipta objek DateTimeZone yang mewakili zon masa sasaran.
  • Baris 3 mencipta objek DateTime dengan cap masa semasa sebagai parameter.
  • Barisan 4 menetapkan objek DateTime ke zon waktu sasaran.
  • Baris 5 memformat objek DateTime menjadi rentetan dalam format "Y-m-d H:i:s", iaitu tahun-bulan-hari jam: minit: saat.
  • Baris 6 mengeluarkan masa Beijing yang diformatkan.
  1. Senaraikan zon waktu yang tersedia

Apabila menggunakan objek DateTimeZone, anda perlu memasukkan pengecam zon waktu yang betul. Kita boleh menggunakan kaedah statik listIdentifiers() kelas DateTimeZone untuk menyenaraikan pengecam semua zon waktu yang tersedia.

Contohnya:

$timezones = DateTimeZone::listIdentifiers();
foreach ($timezones as $timezone) {
    echo $timezone . '<br />';
}
Salin selepas log masuk

Penjelasan kod ini adalah seperti berikut:

  • Baris 1 memanggil kaedah listIdentifiers() kelas DateTimeZone dan mengembalikan senarai yang mengandungi semua Tatasusunan pengecam zon waktu yang tersedia.
  • Baris 2-4 menggunakan gelung foreach untuk merentasi semua pengecam zon masa dan mengeluarkannya ke halaman.

Ringkasan

Artikel ini menerangkan cara menukar cap masa kepada masa dalam zon waktu berbeza dalam PHP. Mula-mula anda perlu memahami konsep zon waktu, dan kemudian gunakan kelas DateTime dan DateTimeZone untuk menukar. Juga, adalah disyorkan untuk menyenaraikan semua pengecam zon waktu yang tersedia untuk memudahkan pemilihan zon waktu yang betul. Saya harap artikel ini akan membantu semua orang untuk mempelajari penukaran masa PHP.

Atas ialah kandungan terperinci Bagaimana untuk menukar cap masa kepada masa dalam zon waktu berbeza dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan