Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Cap Masa kepada Tarikh dan Masa Relatif Boleh Dibaca Manusia dalam PHP?
Dalam PHP, anda boleh dengan mudah menukar cap masa kepada rentetan tarikh/masa relatif mesra pengguna yang berfungsi untuk cap masa lalu dan masa hadapan . Dengan menyesuaikan cap masa kepada format ini, anda boleh meningkatkan pengalaman pengguna dengan menyediakan perwakilan masa yang intuitif.
Untuk mencapai penukaran ini, anda boleh menggunakan fungsi berikut:
function time2str($ts) { // Handle non-numeric timestamps if (!ctype_digit($ts)) { $ts = strtotime($ts); } $diff = time() - $ts; // Handle current time if ($diff == 0) { return 'now'; } // Handle past timestamps if ($diff > 0) { $day_diff = floor($diff / 86400); if ($day_diff == 0) { // Handle minutes and hours ago if ($diff < 60) { return 'just now'; } elseif ($diff < 120) { return '1 minute ago'; } elseif ($diff < 3600) { return floor($diff / 60) . ' minutes ago'; } elseif ($diff < 7200) { return '1 hour ago'; } elseif ($diff < 86400) { return floor($diff / 3600) . ' hours ago'; } } elseif ($day_diff == 1) { return 'Yesterday'; } elseif ($day_diff < 7) { return $day_diff . ' days ago'; } elseif ($day_diff < 31) { return ceil($day_diff / 7) . ' weeks ago'; } elseif ($day_diff < 60) { return 'last month'; } else { return date('F Y', $ts); } } // Handle future timestamps else { $diff = abs($diff); $day_diff = floor($diff / 86400); if ($day_diff == 0) { // Handle minutes and hours from now if ($diff < 120) { return 'in a minute'; } elseif ($diff < 3600) { return 'in ' . floor($diff / 60) . ' minutes'; } elseif ($diff < 7200) { return 'in an hour'; } elseif ($diff < 86400) { return 'in ' . floor($diff / 3600) . ' hours'; } } elseif ($day_diff == 1) { return 'Tomorrow'; } elseif ($day_diff < 4) { return date('l', $ts); } elseif ($day_diff < 7 + (7 - date('w'))) { return 'next week'; } elseif (ceil($day_diff / 7) < 4) { return 'in ' . ceil($day_diff / 7) . ' weeks'; } elseif (date('n', $ts) == date('n') + 1) { return 'next month'; } else { return date('F Y', $ts); } } }
Dengan menggunakan fungsi ini , anda boleh menjana rentetan tarikh/masa relatif mesra pengguna daripada cap masa.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Masa kepada Tarikh dan Masa Relatif Boleh Dibaca Manusia dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!