Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengira dan Memaparkan Masa Berlalu Sejak Cap DateTime dalam PHP?

Bagaimanakah Saya Boleh Mengira dan Memaparkan Masa Berlalu Sejak Cap DateTime dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 07:47:10408semak imbas

How Can I Calculate and Display the Time Elapsed Since a DateTime Stamp in PHP?

Menentukan Masa Berlalu Sejak Cap Tarikh Masa dalam PHP

Dalam PHP, mendapatkan masa berlalu sejak cap tarikh dan masa tertentu adalah penting. Maklumat ini boleh berguna dalam memaparkan masa berlalu dalam format mesra pengguna, seperti "xx Minit Lalu" atau "xx Hari Lalu."

Penyelesaian:

Kod yang disediakan menunjukkan pendekatan yang berkesan untuk menukar cap tarikh dan masa kepada masa relatif format:

<?php
$timestamp = strtotime('2010-04-28 17:25:43');

function humanTiming($timestamp) {
    $difference = time() - $timestamp;
    $tokens = array(
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($difference < $unit) continue;
        $units = floor($difference / $unit);
        return $units . ' ' . $text . (($units > 1) ? 's' : '');
    }
}

echo 'Event occurred ' . humanTiming($timestamp) . ' ago';
?>

Penjelasan:

  • Fungsi strtotime() menukarkan cap tarikh dan masa yang disediakan ('2010-04-28 17:25 :43') ke dalam cap masa UNIX.
  • Fungsi humanTiming() mengira perbezaan antara masa semasa dan cap masa.
  • Fungsi ini kemudian melelang dalam tatasusunan unit masa (tahun, bulan, minggu, dll.) dan perwakilan teks yang sepadan.
  • Ia menyemak jika perbezaan masa lebih besar daripada atau sama dengan unit semasa dan mengembalikan perwakilan teks yang sesuai.
  • Akhir sekali, rentetan yang dikembalikan dilampirkan pada output, menunjukkan masa relatif berlalu sejak cap masa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira dan Memaparkan Masa Berlalu Sejak Cap DateTime dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn