Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php bagaimana untuk menukar cap waktu milisaat kepada tarikh dan masa

php bagaimana untuk menukar cap waktu milisaat kepada tarikh dan masa

PHPz
PHPzasal
2023-03-29 16:25:141997semak imbas

PHP ialah bahasa pengaturcaraan web popular yang telah menjadi asas untuk berjuta-juta tapak web di seluruh dunia. Ia adalah bahasa sumber terbuka yang disokong oleh banyak platform dan sistem pengendalian. PHP menyediakan banyak fungsi terbina dalam yang berkuasa, termasuk fungsi tarikh dan masa berdasarkan cap masa.

Cap masa milisaat (juga dikenali sebagai cap masa UNIX) ialah mekanisme standard untuk merakam masa. Ia mewakili bilangan saat sejak 1 Januari 1970 00:00:00 UT (Waktu Sejagat Selaras). Cap masa milisaat menyediakan cara merentas platform, merentas bahasa untuk mewakili tarikh dan masa.

Menukar cap waktu milisaat kepada tarikh dan masa adalah sangat mudah dalam PHP. Berikut ialah beberapa kaedah yang boleh anda gunakan:

Kaedah 1: Gunakan fungsi date()

Fungsi date() ialah fungsi PHP terbina dalam yang digunakan untuk memformat tarikh dan masa. Ia menerima dua parameter: parameter pertama ialah format tarikh, dan parameter kedua ialah cap waktu yang akan diformatkan.

Begini cara menukar cap masa milisaat kepada tarikh dan masa:

$time_stamp = 1606458051373; // 毫秒时间戳
$milliseconds = $time_stamp % 1000;
$seconds = intval($time_stamp / 1000);
$date_time = date('Y-m-d H:i:s', $seconds) . '.' . str_pad($milliseconds, 3, '0', STR_PAD_LEFT);
echo $date_time; // 2020-11-27 08:34:11.373

Dalam kod di atas, kami mula-mula membahagikan cap masa milisaat kepada saat dan milisaat. Kami kemudian menggunakan fungsi date() untuk menukar saat kepada format tarikh dan masa yang boleh dibaca. Akhir sekali, kami menambah bilangan milisaat pada rentetan masa.

Kaedah 2: Gunakan kelas DateTime

DateTime ialah kelas dalam PHP yang digunakan untuk memproses tarikh dan masa. Ia menyediakan banyak kaedah berkuasa untuk menukar daripada cap masa milisaat kepada tarikh dan masa dengan mudah.

Berikut ialah contoh kod menggunakan kelas DateTime:

$time_stamp = 1606458051373; // 毫秒时间戳
$date_time = DateTime::createFromFormat('U.u', sprintf('%.6F', $time_stamp/1000));
echo $date_time->format('Y-m-d H:i:s.u'); // 2020-11-27 08:34:11.373000

Dalam kod di atas, kami mula-mula membahagikan cap masa milisaat dengan 1000 untuk mendapatkan saat dan kemudian memformatkannya sebagai nombor titik Terapung dan diluluskan kepada kaedah createFromFormat(). Kaedah ini mengembalikan contoh DateTime. Akhir sekali, kami memformat tarikh dan masa ke dalam rentetan menggunakan kaedah format().

Kaedah 3: Gunakan fungsi strtotime()

Fungsi strtotime() ialah satu lagi fungsi terbina dalam PHP yang digunakan untuk menukar tarikh teks kepada cap masa. Ia juga menyokong mendapatkan tarikh dan masa daripada cap waktu milisaat.

Berikut ialah contoh kod tentang cara menukar cap masa milisaat kepada tarikh dan masa:

$time_stamp = 1606458051373; // 毫秒时间戳
$date_time = date('Y-m-d H:i:s', strtotime(sprintf('+%d milliseconds', $time_stamp)));
echo $date_time; // 2020-11-27 08:34:11

Dalam kod di atas, kami menggunakan fungsi sprintf() untuk memformat cap masa menjadi rentetan , gunakan rentetan ini dalam fungsi strtotime() untuk mendapatkan tarikh dan masa. Akhir sekali, kami memformat rentetan tarikh dan masa menggunakan fungsi date().

Kesimpulan

Menukar cap waktu milisaat kepada tarikh dan masa adalah sangat mudah dalam PHP. Anda boleh menggunakan fungsi date() terbina dalam, kelas DateTime atau fungsi strtotime() untuk menyelesaikan tugas ini. Tidak kira kaedah yang anda pilih, anda boleh menukar cap masa milisaat dengan mudah kepada format tarikh dan masa yang boleh dibaca.

Atas ialah kandungan terperinci php bagaimana untuk menukar cap waktu milisaat kepada tarikh dan masa. 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