PHP ialah bahasa skrip sumber terbuka popular yang digunakan secara meluas dalam pembangunan web. Antaranya, cap waktu ialah jenis data yang sangat penting, yang mewakili bilangan saat yang telah berlalu sejak 0:00:00 pada 1 Januari 1970. Dalam PHP, adalah sangat mudah untuk menukar rentetan masa ke dalam cap masa Artikel ini akan memperkenalkan beberapa kaedah untuk menukar cap masa dalam PHP.
Kaedah 1: strtotime()
Fungsi strtotime() ialah fungsi yang sangat mudah dalam PHP untuk menukar rentetan masa kepada cap waktu. Kita boleh mengembalikan cap masa yang sepadan dengan menghantar rentetan yang mewakili tarikh dan masa ke dalam fungsi. Nilai cap masa ini mewakili bilangan saat yang telah berlalu sejak 00:00:00 pada 1 Januari 1970.
Sebagai contoh, kod PHP berikut menukar tarikh dan masa semasa kepada cap masa:
echo strtotime("now");
Hasil keluaran:
1623862003
Dalam kod di atas, kami Hantar rentetan "sekarang" ke fungsi strtotime(). Ia mentafsir rentetan sebagai tarikh dan masa semasa dan mengembalikan cap masa yang sepadan.
Begitu juga, kita boleh menggunakan fungsi strtotime() untuk menukar sebarang rentetan yang mewakili tarikh dan masa ke dalam cap masa. Contohnya, kod berikut menukar rentetan yang mewakili "1 Januari 2022" kepada cap masa:
echo strtotime("2022-01-01");
Hasil keluaran:
1640947200
Dalam kod di atas, kami luluskan " 2022-01-01" rentetan ke fungsi strtotime(). Ia akan mentafsir rentetan sebagai pukul sifar pada 1 Januari 2022 dan mengembalikan cap masa yang sepadan.
Perlu diperhatikan bahawa fungsi strtotime() mempunyai beberapa format tarikh dan masa yang tidak disokong. Sebagai contoh, format rentetan masa berikut tidak disokong:
Dalam kes ini kita perlu menggunakan kaedah lain untuk menukar rentetan masa kepada cap masa.
Kaedah 2: Kelas DateTime
Kelas DateTime ialah kelas teras yang ditakrifkan dalam PHP 5.2 dan ke atas Ia menyediakan kaedah operasi tarikh dan masa yang sangat mudah. Antaranya, kaedah createFromFormat() kelas DateTime boleh menukar rentetan tarikh dan masa ke dalam cap masa.
Sebagai contoh, kod PHP berikut menukar rentetan yang mewakili "1 Januari 2022" kepada cap masa:
$datetime = DateTime::createFromFormat('Y-m-d H:i:s', '2022-01-01 00:00:00'); echo $datetime->getTimestamp();
Hasil keluaran:
1640947200
Dalam kod di atas, kami mula-mula mencipta objek DateTime melalui kaedah createFromFormat(), yang mentafsirkan "2022-01-01 00:00:00" sebagai objek tarikh dan masa. Kemudian, kami menggunakan kaedah getTimestamp() objek DateTime untuk mendapatkan cap masa yang sepadan.
Perlu diambil perhatian bahawa kaedah DateTime::createFromFormat() memerlukan dua parameter. Parameter pertama ialah format tarikh dan masa, dan parameter kedua ialah rentetan tarikh dan masa yang perlu ditukar kepada cap waktu. Contohnya, "Y-m-d H:i:s" dalam kod di atas bermakna tarikh dan masa adalah dalam format "Tahun-Bulan-Hari Jam:Minit:Kedua".
Kaedah 3: fungsi mktime()
Fungsi mktime() juga merupakan fungsi yang sangat mudah dalam PHP untuk menukar tarikh dan masa kepada cap waktu. Berbeza daripada fungsi strtotime(), fungsi mktime() memerlukan kita untuk lulus dalam tahun, bulan, hari, jam, minit, saat dan parameter lain untuk mendapatkan cap masa yang sepadan.
Sebagai contoh, kod PHP berikut menukar rentetan yang mewakili "1 Januari 2022" kepada cap masa:
echo mktime(0, 0, 0, 1, 1, 2022);
Hasil keluaran:
1640947200
Dalam kod di atas, kami menggunakan fungsi mktime() untuk lulus dalam tahun (2022), bulan (1), hari (1), jam (0), minit (0), saat (0) dan parameter lain, dan Kembalikan cap masa yang sepadan.
Perlu diambil perhatian bahawa fungsi mktime() akan mengembalikan -1 untuk nilai tarikh dan masa yang tidak sah (seperti 30 Februari), jadi anda perlu memberi perhatian kepada kesahihan tarikh dan masa apabila menggunakan fungsi mktime() .
Ringkasan
Artikel ini memperkenalkan tiga kaedah untuk menukar cap masa dalam PHP: fungsi strtotime(), kelas DateTime dan fungsi mktime(). Antaranya, fungsi strtotime() ialah kaedah yang paling mudah, yang boleh menukar pelbagai rentetan tarikh dan masa ke dalam cap masa. Fungsi kelas DateTime dan mktime() menyediakan kaedah operasi tarikh dan masa yang lebih fleksibel, yang boleh dipilih mengikut keadaan tertentu.
Atas ialah kandungan terperinci Pelaksanaan penukaran php kepada cap waktu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!