Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar cap waktu kepada masa AD dalam PHP
PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang memainkan peranan penting dalam pembangunan web. Cap masa ialah jenis data yang sangat biasa dalam PHP, yang merupakan integer yang mewakili bilangan saat sejak "1 Januari 1970 00:00:00 UTC".
Walau bagaimanapun, apabila kita perlu menukar cap waktu kepada format masa AD yang boleh dibaca manusia, beberapa pemprosesan tambahan diperlukan. Artikel ini akan memperkenalkan cara menukar cap masa kepada masa AD dalam PHP, termasuk kaedah penukaran format biasa dan penyelesaian kepada beberapa masalah biasa.
Sebelum menukar cap masa kepada masa AD, anda perlu menjelaskan format masa yang anda mahu tukarkan. Dalam PHP, format masa biasa adalah seperti berikut:
PHP menyediakan fungsi terbina dalam date()
, anda boleh menukar cap masa kepada masa dengan mudah dalam format yang ditentukan. Bentuk biasa bagi fungsi ini ialah:
date($format, $timestamp)
di mana $format ialah format masa yang hendak ditukar dan $timestamp ialah cap masa yang hendak ditukar. Contohnya, untuk menukar cap masa 1645533639 kepada masa dalam format "Y-m-d H:i:s", anda boleh menggunakan kod berikut:
echo date('Y-m-d H:i:s', 1645533639);
Outputnya ialah:
2022-02-22 22:27:19
Begitu juga Untuk menukar cap masa kepada masa dalam format lain, hanya nyatakan format yang sepadan. Contohnya, untuk menukar cap masa kepada masa dalam format "Y/m/d", anda boleh menukar kod kepada:
echo date('Y/m/d', 1645533639);
Outputnya ialah:
2022/02/22
Apabila menggunakan fungsi date()
untuk penukaran masa, anda perlu memberi perhatian kepada isu zon waktu. Memandangkan zon waktu lalai PHP ialah waktu UTC, zon waktu perlu dilaraskan mengikut situasi sebenar. Terdapat dua kaedah tetapan zon waktu biasa:
Fungsi ini boleh menetapkan zon waktu lalai. Contohnya, jika zon waktu semasa ialah Waktu Piawai China, anda boleh menetapkan zon waktu kepada:
date_default_timezone_set('Asia/Shanghai');
Kaedah ini boleh melepasi parameter yang menunjukkan zon waktu semasa apabila memanggil fungsi date()
. Contohnya, untuk menetapkan zon waktu kepada Waktu Piawai China, anda boleh menukar kod kepada:
echo date('Y-m-d H:i:s', 1645533639 + 8*3600);
di mana, 8 mewakili zon waktu China (UTC+8), cuma tambahkan saat 8 jam kepada cap masa.
Cap masa Unix ialah kaedah perwakilan masa yang mewakili sejak "1 Januari 1970 00:00:00 UTC" Bilangan saat sejak itu. Dalam PHP, cap masa biasanya merujuk kepada cap masa Unix.
Masalah biasa dengan cap waktu Unix ialah ia dikira dalam saat dan oleh itu hanya tepat ke tahap kedua, bukan milisaat atau mikrosaat. Jika anda perlu menangani masa yang lebih terperinci, anda perlu menggunakan kaedah perwakilan masa jenis lain.
Dalam PHP, DateTime ialah kelas yang mewakili tarikh dan masa dengan mudah menambah dan menolak tarikh dan masa . Untuk menukar cap masa kepada objek DateTime, anda boleh menggunakan kod berikut:
$datetime = new DateTime(); $datetime->setTimestamp(1645533639); echo $datetime->format('Y-m-d H:i:s');
di mana objek DateTime kosong mula-mula dibuat, kemudian cap masa ditetapkan kepada objek menggunakan kaedah setTimestamp()
dan akhirnya menggunakan format()
kaedah memformat masa dan mengeluarkannya.
Dalam PHP, cap waktu ialah jenis data biasa, yang biasanya digunakan untuk merekodkan masa apabila sesuatu peristiwa berlaku. Untuk menukar cap masa kepada masa AD, hanya gunakan fungsi date()
. Apabila menggunakan fungsi date()
, anda perlu memberi perhatian kepada isu zon waktu dan membuat pelarasan mengikut situasi sebenar. Jika anda perlu mengendalikan masa yang lebih terperinci, anda boleh menggunakan jenis perwakilan masa yang lain, seperti objek DateTime.
Atas ialah kandungan terperinci Bagaimana untuk menukar cap waktu kepada masa AD dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!