Keputusan yang tidak dijangka berlaku apabila mengira perbezaan masa dalam saat dalam PHP dengan menukar dua tarikh kepada cap waktu Unix.
P粉237029457
P粉237029457 2023-09-03 09:22:01
0
1
478
<p>Seperti tajuk, saya cuba mencari perbezaan dalam saat dan kemudian menukar saat tersebut kepada hari dan jam. </p> <p>Selepas membaca dan mengikuti soalan yang serupa, saya membina fungsi yang menambah jam, hari, minggu, bulan atau tahun yang saya mahukan kepada tarikh tarikh hari ini dan saya mendapat hasil yang betul daripada bahagian ini. </p> <p> Walau bagaimanapun, saya kemudian cuba menukar dua tarikh (tarikh mula dan tarikh alih) kepada cap waktu unix, menolak kedua-dua cap masa untuk mencari perbezaan antara dua tarikh dalam beberapa saat, dan kemudian menukar saya tidak mendapat hasil yang saya jangkakan untuk hari atau minit (/86400 dan /3600). </p> <p>Ini ialah kodnya..</p> <pre class="brush:php;toolbar:false;"><?php $dateTimeNow = tarikh(); fungsi dateTimeShift($dateTimeIn, $lengthNum, $lengthWord) { $shifted = date("Y-m-d H:i:s", strtotime($dateTimeIn." + $lengthNum $lengthWord")); $perbezaan = strtotime($shifted)-strtotime($dateTimeIn); kembalikan "br> } echo dateTimeShift($dateTimeNow, "1", "hari"); ?></pra> <p>Hasil semasa ialah...</p> <blockquote> <p>2023-01-04 09:37:51 > </blockquote> <p>Saya menjangkakan ia akan menjadi seperti ini</p> <blockquote> <p>2023-01-04 09:37:51 > </blockquote></p>
P粉237029457
P粉237029457

membalas semua(1)
P粉769413355

Masalahnya ialah anda menggunakan fungsi date() tanpa parameter, cuba gunakan ini:

$dateTimeNow = date("Y-m-d H:i:s");

function dateTimeShift($dateTimeIn, $lengthNum, $lengthWord) {
    $shifted = date("Y-m-d H:i:s", strtotime($dateTimeIn." + $lengthNum $lengthWord"));
    $difference = strtotime($shifted)-strtotime($dateTimeIn);
    return $shifted . " <br> " . floor($difference/86400) . " days or " . floor($difference/3600) . " hours";
}

echo dateTimeShift($dateTimeNow, "1", "day");

Output:

2023-01-04 09:57:31 <br> 1 days or 24 hours
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!