Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan masa kepada cap masa menggunakan PHP

Bagaimana untuk menukar rentetan masa kepada cap masa menggunakan PHP

PHPz
PHPzasal
2023-03-29 16:16:391053semak imbas

PHP ialah bahasa pengaturcaraan web yang popular dengan perpustakaan fungsi yang kaya dan kelas tarikh dan masa yang mudah dan mudah digunakan. Dalam aplikasi PHP, kita selalunya perlu memproses rentetan masa untuk mendapatkan cap masa untuk pengiraan dan perbandingan seterusnya. Artikel ini akan memperkenalkan cara menukar rentetan masa kepada cap masa.

1. Fungsi strtotime

Fungsi strtotime ialah fungsi pemprosesan tarikh dan masa terbina dalam PHP, yang boleh menukar beberapa rentetan tarikh dan masa biasa kepada cap waktu Unix. Contohnya:

echo strtotime('2022-03-01 12:00:00'); // 1646083200

Fungsi ini sangat mudah dan boleh menukar terus rentetan format "tahun-bulan-hari jam:minit:saat" yang biasa digunakan kepada cap waktu. Pada masa yang sama, fungsi strtotime juga menyokong format masa relatif. Contohnya, anda boleh memasukkan rentetan seperti "esok" dan "Isnin depan" untuk mendapatkan cap masa yang sepadan.

echo strtotime('tomorrow'); // 明天此时时间的时间戳
echo strtotime('next Monday'); // 下个星期一此时时间的时间戳

Walau bagaimanapun, fungsi strtotime juga mempunyai beberapa had. Pertama, ia tidak boleh mengendalikan beberapa format masa tarikh bukan standard. Contohnya:

echo strtotime('2022年3月1日 12:00:00'); // false

Walaupun rentetan ini juga mewakili tarikh dan masa, fungsi strtotime tidak boleh menghuraikannya. Kedua, fungsi strtotime mungkin mendapat hasil yang salah untuk beberapa format masa yang lebih kompleks. Sebagai contoh, untuk beberapa rentetan yang tidak mengandungi maklumat zon waktu, fungsi strtotime akan menggunakan zon waktu semasa untuk menghurai secara lalai, yang mungkin menghasilkan keputusan yang salah.

2. Kelas DateTime

Kelas DateTime ialah objek tarikh dan masa yang disediakan oleh PHP Ia menyediakan pelbagai kaedah untuk memproses tarikh dan masa, termasuk pemformatan tarikh dan masa, penukaran zon waktu , dsb. tunggu. Menggunakan kelas DateTime semasa memproses rentetan masa, kami boleh memastikan bahawa kami mendapat cap masa yang betul.

$date = new DateTime('2022-03-01 12:00:00');
echo $date->getTimestamp(); // 1646083200

Kelas DateTime boleh menerima pelbagai format rentetan tarikh dan masa, dan kaedah pemprosesan adalah sangat fleksibel, dan secara automatik boleh mengecam dan menukar format yang berbeza.

Selain kaedah getTimestamp, kelas DateTime juga menyediakan banyak kaedah lain untuk mengeluarkan rentetan tarikh dan masa dalam format yang berbeza, atau melaksanakan operasi seperti penambahan, penolakan dan perbandingan tarikh dan masa.

$date = new DateTime('2022-03-01 12:00:00');
echo $date->format('Y-m-d H:i:s'); // '2022-03-01 12:00:00'
$date->add(new DateInterval('P2D')); // 添加2天
echo $date->format('Y-m-d H:i:s'); // '2022-03-03 12:00:00'
echo ($date > new DateTime('now')); // true

Ringkasan

Sama ada anda menggunakan fungsi strtotime atau kelas DateTime, anda boleh menukar rentetan masa kepada cap waktu. Untuk format masa yang lebih mudah, fungsi strtotime adalah pilihan yang lebih baik kerana ia sangat mudah. Tetapi jika anda perlu mengendalikan format tarikh yang lebih kompleks, adalah disyorkan untuk menggunakan kelas DateTime untuk mendapatkan ketepatan penghuraian yang lebih tinggi.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan masa kepada cap masa 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