Menghasilkan Tarikh/Masa Relatif daripada Cap Masa dalam PHP
Pengenalan
Menentukan tarikh relatif /masa berdasarkan cap masa adalah tugas biasa dalam pengaturcaraan. Fungsi ini menjadi lebih kompleks apabila mempertimbangkan selang masa yang berbeza dan arah penukaran (lalu atau akan datang).
Jawapan
Fungsi di bawah menyediakan pendekatan menyeluruh untuk menukar Cap waktu Unix (diperolehi menggunakan fungsi masa()) kepada format tarikh/masa relatif, mengambil kira masa lalu dan masa hadapan. Ia menjana output seperti:
Fungsi ini menggunakan satu siri pernyataan bersyarat untuk menentukan perwakilan masa yang sesuai berdasarkan perbezaan antara masa semasa dan masa cap masa:
fungsi time2str($ts)
{
// Handle syntax variations if(!ctype_digit($ts)) $ts = strtotime($ts); // Calculate the difference between now and the timestamp $diff = time() - $ts; // Check for exact matches to simplify handling if($diff == 0) return 'now'; // Handle past timestamps if($diff > 0) { // Calculate day difference $day_diff = floor($diff / 86400); // Format past time intervals switch(true) { case ($day_diff == 0): return constructPastInterval($diff); // Hours, minutes, seconds case ($day_diff == 1): return 'Yesterday'; case ($day_diff < 7): return $day_diff . ' days ago'; case ($day_diff < 31): return ceil($day_diff / 7) . ' weeks ago'; case ($day_diff < 60): return 'last month'; default: return date('F Y', $ts); } } // Handle future timestamps else { // Calculate absolute difference $diff = abs($diff); // Calculate day difference and format future time intervals based on logic similar to the past case. }
}
The Fungsi constructPastInterval() tidak ditunjukkan dalam respons ini tetapi mengendalikan pemformatan selang masa lalu (jam, minit, saat).
Fungsi ini menawarkan penyelesaian yang mantap dan serba boleh untuk menjana perwakilan tarikh/masa relatif daripada cap masa, menghapuskan keperluan untuk berbilang skrip atau pengekodan tersuai yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Rentetan Tarikh/Masa Relatif daripada Cap Waktu Unix dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!