Dalam membangunkan aplikasi web, penukaran jenis data tarikh selalunya terlibat. PHP menyediakan pelbagai fungsi tarikh dan masa, yang boleh melakukan pemformatan tarikh, perbandingan, pengiraan dan operasi lain dengan mudah. Artikel ini akan memperkenalkan jenis data tarikh dalam PHP dan kaedah penukarannya.
Dalam PHP, tarikh boleh diwakili sebagai rentetan atau integer. Format tarikh yang biasa digunakan termasuk:
Fungsi terbina dalam PHP strtotime() boleh digunakan untuk menukar rentetan yang mewakili tarikh dan masa ke dalam cap waktu Unix. Fungsi ini menerima rentetan yang mewakili tarikh dan masa sebagai parameter dan mengembalikan cap waktu Unix yang sepadan dengan tarikh.
$time_str = '2022-01-01'; $time_stamp = strtotime($time_str); echo $time_stamp; // 输出:1640995200
Kod di atas menukar rentetan tarikh '2022-01-01' kepada cap waktu Unix dan mengeluarkan cap masa.
Nota: Apabila menggunakan fungsi strtotime() untuk menukar rentetan tarikh kepada cap waktu, format tarikh mestilah format tarikh bahasa Inggeris "Month Day Year" atau "Day Month Year " atau Format tarikh "Y-m-d".
Cap masa Unix boleh diformatkan ke dalam format tarikh yang ditentukan melalui tarikh fungsi terbina dalam PHP(). Fungsi ini menerima dua parameter: parameter pertama ialah rentetan yang mewakili format tarikh, dan parameter kedua ialah cap waktu Unix.
$time_stamp = 1640995200; $date_str = date('Y-m-d H:i:s', $time_stamp); echo $date_str; // 输出:2022-01-01 00:00:00
Kod di atas memformat cap waktu Unix 1640995200 menjadi rentetan tarikh dalam format 'Y-m-d H:i:s' dan mengeluarkan rentetan itu.
Dalam PHP, anda boleh terus menggunakan operator perbandingan rentetan (>, <, ==, !=, dsb.) untuk membandingkan saiz rentetan tarikh. Jika anda menukar rentetan tarikh kepada cap waktu Unix, anda juga boleh membandingkan terus menggunakan operator perbandingan berangka (>, <, =, !=, dsb.).
$date_str1 = '2022-01-01'; $date_str2 = '2022-01-02'; if ($date_str1 < $date_str2) { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前'; } else { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后'; }
Kod di atas membandingkan saiz dua rentetan tarikh dan mengeluarkan hasil perbandingan akhir.
Anda boleh menggunakan fungsi terbina dalam PHP mktime() untuk menukar tarikh kepada cap waktu Unix. Fungsi ini menerima berbilang parameter, iaitu jam, minit, saat, bulan, hari dan tahun. Jika tiada hujah dinyatakan, fungsi mengembalikan cap waktu Unix pada masa semasa.
$year = 2022; $month = 1; $day = 1; $hour = 0; $minute = 0; $second = 0; $time_stamp = mktime($hour, $minute, $second, $month, $day, $year); echo $time_stamp; // 输出:1640995200
Kod di atas menukar tarikh '2022-01-01' kepada cap waktu Unix dan mengeluarkan cap masa.
Serupa dengan fungsi date() yang diperkenalkan di atas, fungsi terbina dalam PHP strftime() juga boleh memformat cap masa Unix ke dalam format tarikh yang ditentukan. Fungsi ini menerima dua parameter: parameter pertama ialah rentetan yang mewakili format tarikh (menyokong pemformatan aksara, seperti %Y, %m, %d, %H, %M, %S, dsb.), dan parameter kedua ialah Cap masa Unix.
$time_stamp = 1640995200; $date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp); echo $date_str; // 输出:2022年01月01日 00时00分00秒
Kod di atas memformat cap waktu Unix 1640995200 ke dalam format tarikh yang ditentukan dan mengeluarkan rentetan yang diformatkan.
Dalam PHP, pembangun boleh menggunakan fungsi terbina dalam strtotime(), date(), mktime(), strftime() dan fungsi lain untuk melaksanakan operasi penukaran yang melibatkan jenis tarikh dengan mudah beroperasi. Dalam pembangunan sebenar, adalah perlu untuk memilih fungsi yang sesuai mengikut keperluan khusus dan menggunakannya secara fleksibel.
Atas ialah kandungan terperinci php tarikh penukaran jenis data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!