วิธีการแสดง “12 นาทีที่แล้ว” ในเว็บเพจ PHP

เวลาเป็นประเด็นสำคัญในส่วนติดต่อผู้ใช้ โดยเฉพาะในแอปพลิเคชันเว็บที่การแสดงเวลาที่เกี่ยวข้องที่ผ่านมานับตั้งแต่เหตุการณ์เกิดขึ้นจะช่วยเพิ่มประสบการณ์ของผู้ใช้ วิธีการทั่วไปในการทำเช่นนี้คือการแสดงข้อความ เช่น “12 นาทีที่แล้ว” หรือ “5 วินาทีที่แล้ว” ในโพสต์บล็อกนี้ เราจะสำรวจวิธีการดำเนินการฟีเจอร์นี้ในแอปพลิเคชัน PHP ของคุณผ่านฟังก์ชันที่สะดวก

ทำไมต้องใช้การจัดรูปแบบเวลาที่ผ่านมา?

การแสดงเวลาในรูปแบบที่ผ่านมามีข้อได้เปรียบหลายประการรวมถึง:

  • ความชัดเจน: แทนที่จะแสดงวันที่และเวลาเฉพาะ ซึ่งอาจทำให้ผู้ใช้สับสน เวลาแบบที่ผ่านมาจะทำให้เข้าใจได้ง่าย
  • ความเกี่ยวข้อง: มันให้บริบททันทีที่เกี่ยวข้องกับเหตุการณ์ ช่วยให้ผู้ใช้เข้าใจความทันสมัยของข้อมูล (เช่น โพสต์นี้เกิดขึ้นเมื่อไหร่)
  • ความกระชับ: ข้อความเกี่ยวกับเวลาที่สั้นลงจะทำให้ส่วนติดต่อผู้ใช้ของคุณสะอาดและใช้งานง่าย

ทางออก: การดำเนินการฟังก์ชันเวลาที่ผ่านมา

เพื่อแสดงข้อความ เช่น “12 นาทีที่แล้ว” เราสามารถสร้างฟังก์ชัน PHP ชื่อ time_since() ที่รับจำนวนวินาทีตั้งแต่เกิดเหตุการณ์เป็นข้อมูลนำเข้าและส่งคืนสตริงที่มนุษย์อ่านได้ซึ่งแสดงว่าเกิดขึ้นเมื่อไหร่

นี่คือวิธีที่ฟังก์ชันดูใน PHP:

function time_since($since) {
    $chunks = array(
        array(60 * 60 * 24 * 365 , 'ปี'),
        array(60 * 60 * 24 * 30 , 'เดือน'),
        array(60 * 60 * 24 * 7, 'สัปดาห์'),
        array(60 * 60 * 24 , 'วัน'),
        array(60 * 60 , 'ชั่วโมง'),
        array(60 , 'นาที'),
        array(1 , 'วินาที')
    );

    for ($i = 0, $j = count($chunks); $i < $j; $i++) {
        $seconds = $chunks[$i][0];
        $name = $chunks[$i][1];
        if (($count = floor($since / $seconds)) != 0) {
            break;
        }
    }

    $print = ($count == 1) ? '1 '.$name : "$count {$name}ๆ";
    return $print;
}

การแยกฟังก์ชัน

  1. การกำหนดช่วงเวลา: ฟังก์ชันนี้กำหนดอาเรย์ชื่อ $chunks อาเรย์นี้เก็บเวลาต่าง ๆ และป้ายกำกับที่สอดคล้อง (เช่น ปี, เดือน, สัปดาห์, วัน, ชั่วโมง, นาที, วินาที) ช่วงเวลาเหล่านี้ช่วยในการกำหนดวิธีการแสดงเวลาแบบที่ผ่านมา

  2. การคำนวณเวลาที่ผ่านมา: การวนรอบจะทำการวนไปที่อาเรย์ $chunks เพื่อตรวจหาหน่วยเวลาที่ใหญ่ที่สุดที่สอดคล้องกับจำนวนวินาทีที่ผ่านไป ฟังก์ชันจะคำนวณว่าหน่วยนั้นจะอยู่ในเวลาที่กำหนดกี่หน่วย

  3. การจัดรูปแบบการแสดงผล: เมื่อหน่วยเวลาที่เหมาะสมถูกพบ ฟังก์ชันจะจัดรูปแบบสตริงที่ส่งคืน หากเวลาเป็นเอกพจน์ (เช่น “1 นาที”) มันจะหลีกเลี่ยงการทำให้หน่วยเป็นพหูพจน์ มิฉะนั้นจะเพิ่ม ’s’ ที่ท้าย (เช่น “2 นาที”)

ตัวอย่างการใช้งาน

ในการใช้ฟังก์ชันนี้เพียงแค่เรียกใช้ฟังก์ชันด้วยจำนวนวินาทีเป็นอาร์กิวเมนต์ สำหรับตัวอย่าง:

echo time_since(720); // แสดงผล: "12 นาที"
echo time_since(5);   // แสดงผล: "5 วินาที"

วิธีนี้ทำให้การแสดงว่าเหตุการณ์เกิดขึ้นเมื่อไหร่ในรูปแบบที่เข้าใจง่ายสำหรับผู้ใช้งานได้

สรุป

การดำเนินการฟังก์ชัน time_since() ที่ง่ายจะช่วยปรับปรุงการนำเสนอเวลาที่ดีในแอปพลิเคชัน PHP ของคุณ ไม่เพียงแต่ให้บริบทที่จำเป็น แต่ยังสร้างประสบการณ์ผู้ใช้ที่มีส่วนร่วมและเป็นมิตรมากขึ้น โดยใช้การจัดรูปแบบเวลาที่ผ่านมา คุณสามารถสร้างส่วนติดต่อที่ดึงดูดซึ่งช่วยให้ผู้ใช้เข้าใจความทันสมัยของเนื้อหาที่พวกเขากำลังมีปฏิสัมพันธ์ได้อย่างง่ายดาย

คุณสามารถปรับเปลี่ยนและขยายฟังก์ชันนี้ให้เหมาะสมกับความต้องการของคุณ และในไม่ช้าปรับปรุงแอปพลิเคชันเว็บของคุณให้ใช้งานง่ายและให้ข้อมูลมากขึ้น โค้ดดิ้งให้สนุก!