Apabila berurusan dengan perniagaan berkaitan masa, kami sering melibatkan penukaran cap masa. Dalam PHP, cap masa biasanya dinyatakan sebagai integer 10 digit atau integer 13 digit, di mana integer 10 digit mewakili bilangan saat dari 1 Januari 1970 hingga masa semasa, manakala integer 13 digit mewakili bilangan saat dari Januari 1, 1970 hingga Masa semasa dalam milisaat. Walau bagaimanapun, kadangkala kita perlu menukar cap waktu 13 digit kepada tarikh dan masa tertentu, yang memerlukan penggunaan beberapa fungsi PHP yang berkaitan.
1. Cara mendapatkan cap masa 13 digit dalam PHP
Kita boleh menggunakan masa fungsi PHP() untuk mendapatkan cap masa 10 digit semasa, dan untuk cap masa 13 digit, anda perlu gunakan fungsi microtime(). Fungsi microtime() mengembalikan bilangan mikrosaat dan saat masa semasa Kita boleh mendapatkan cap waktu 13 digit melalui output yang diformatkan Rujuk kod berikut:
<?php // 获取当前时间13位时间戳 list($msec, $sec) = explode(' ', microtime()); $timestamp = sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); echo $timestamp; ?>
Dalam kod ini, senaraikan. ) digunakan untuk mendapatkan dua nilai dalam tatasusunan yang dikembalikan oleh fungsi microtime(), iaitu bilangan mikrosaat dan bilangan saat. Kami kemudian menambahnya bersama-sama dan mendarab dengan 1000 untuk mendapatkan cap masa 13 digit. Akhirnya, cap masa dikeluarkan melalui pernyataan gema.
2. PHP menukar cap masa 13 digit kepada tarikh dan masa
Selepas mendapat cap masa 13 digit, kita boleh menggunakan fungsi date() untuk menukarkannya kepada tarikh dan masa tertentu. Fungsi date() boleh menerima dua parameter, parameter pertama mewakili rentetan format, dan parameter kedua mewakili cap masa yang akan diformatkan. Rujuk kod berikut:
<?php // 将13位时间戳转换成日期和时间 $timestamp = 1607914806536; // 假设要转换的13位时间戳 $datetime = date('Y-m-d H:i:s', $timestamp/1000); echo $datetime; ?>
Di sini, kami menganggap bahawa cap masa 13 digit yang hendak ditukar ialah 1607914806536 milisaat. Mula-mula kita perlu membahagikannya dengan 1000 untuk menukarnya menjadi cap waktu 10 digit, dan kemudian memanggil fungsi date() untuk memformatkannya ke dalam bentuk Y-m-d H:i:s. Akhirnya, tarikh dan masa dikeluarkan melalui pernyataan gema.
3. PHP menukar tarikh dan masa kepada cap masa 13 digit
Satu lagi keperluan biasa ialah menukar tarikh dan masa tertentu kepada cap masa 13 digit. PHP menyediakan fungsi strtotime() untuk mencapai keperluan ini. Fungsi strtotime() boleh menerima rentetan tarikh atau tarikh dan menukarnya kepada cap waktu Unix. Rujuk kod berikut:
<?php // 将日期和时间转换成13位时间戳 $datetime = '2020-12-14 18:33:26'; // 假设要转换的日期和时间 $timestamp = strtotime($datetime) * 1000; echo $timestamp; ?>
Di sini, kami menganggap bahawa tarikh dan masa untuk ditukar ialah 14-12-2020 18:33:26. Kami mula-mula memanggil fungsi strtotime() untuk menukarnya kepada cap waktu Unix, kemudian darabkannya dengan 1000 untuk mendapatkan cap masa 13 digit. Akhir sekali, cap waktu 13 digit dikeluarkan melalui pernyataan gema.
Ringkasnya, kita dapat melihat bahawa PHP menyediakan satu siri fungsi untuk menukar antara cap waktu dan tarikh dan masa tertentu. Dalam pembangunan sebenar, kita harus memilih fungsi yang sesuai untuk melaksanakan operasi berkaitan cap waktu berdasarkan keperluan perniagaan.
Atas ialah kandungan terperinci Bagaimana untuk menukar cap waktu 13 digit ke dalam format masa tertentu dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!