Mencari Masa Berlalu Sejak Masa Tarikh dalam PHP
Menentukan masa berlalu sejak tarikh dan masa tertentu boleh berguna dalam pelbagai aplikasi, seperti memaparkan masa sejak sesuatu peristiwa berlaku. Dalam PHP, terdapat cara untuk mengira dan memformat masa berlalu dengan cara yang mesra pengguna.
Mengira Masa Berlalu
Untuk mengira masa berlalu antara tarikh tertentu masa dan masa semasa, anda boleh menggunakan fungsi strtotime() untuk menukar perwakilan rentetan masa tarikh kepada cap waktu. Cap masa kemudiannya boleh ditolak daripada cap masa semasa, yang mewakili masa semasa dalam saat sejak zaman Unix (1 Januari 1970 UTC).
Contohnya:
$time = strtotime('2010-04-28 17:25:43'); $elapsedTime = time() - $time;
Memformat Masa Berlalu
Sebaik sahaja anda mempunyai masa berlalu sebagai bilangan saat, anda boleh memformatnya dengan cara yang mesra pengguna. Pendekatan biasa ialah menukar saat kepada unit seperti minit, hari atau tahun. Anda boleh menggunakan gelung untuk melelakan senarai unit dan bilangan saat yang sepadan, kemudian kembalikan unit yang sesuai dan nilainya.
Sebagai contoh, fungsi berikut mengira dan memformat masa berlalu:
function humanTiming($time) { $tokens = array ( 31536000 => 'year', 2592000 => 'month', 604800 => 'week', 86400 => 'day', 3600 => 'hour', 60 => 'minute', 1 => 'second' ); foreach ($tokens as $unit => $text) { if ($time < $unit) continue; $numberOfUnits = floor($time / $unit); return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); } }
Contoh Penggunaan
Untuk menggunakan fungsi ini, anda hanya boleh menghantar cap masa sebagai hujah:
$time = strtotime('2010-04-28 17:25:43'); echo 'Event happened '.humanTiming($time).' ago';
Ini akan mengeluarkan masa berlalu dalam format yang sesuai untuk paparan pengguna, seperti "Peristiwa berlaku 4 hari lalu" atau "Peristiwa berlaku 1 minit lalu".
Atas ialah kandungan terperinci Bagaimana untuk Mengira dan Memformat Masa Berlalu Sejak Tarikh dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!