Menukar Milisaat kepada Tarikh dalam PHP
Anda mempunyai rentetan berangka yang mewakili tarikh sebagai milisaat sejak zaman Unix. Bertujuan untuk menukarnya kepada format "d-m-Y", anda mengalami percanggahan antara output yang dijangka dan sebenar. Artikel ini meneroka punca isu dan menyediakan penyelesaian.
Masalah:
Kod anda di bawah mengembalikan "25-11-2008" dan bukannya "02" yang dijangkakan -12-2008":
<code class="php">$mil = 1227643821310; $seconds = $mil / 1000; echo date("d-m-Y", $seconds);</code>
Penyelesaian:
Bertentangan dengan andaian, nilai milisaat yang disediakan ("1227643821310") tidak sepadan dengan "02- 12-2008" tetapi ke "25-11-2008." Ini ialah penukaran yang betul untuk input yang diberikan.
Cap masa mewakili bilangan milisaat sejak 00:00:00 UTC, 1 Januari 1970. Membahagikannya dengan 1000 menukarkannya kepada saat, dan fungsi tarikh kemudian memformatkannya ke dalam format yang diingini.
Kesimpulan:
Isunya terletak pada andaian yang salah tentang nilai milisaat. Apabila menukar milisaat kepada tarikh, pastikan ketepatan input dan bandingkan output dengan nilai yang dijangkakan.
Atas ialah kandungan terperinci Mengapa Kod PHP Saya Menukar Milisaat kepada Tarikh yang Salah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!