วิธีการแสดง “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;
}
การแยกฟังก์ชัน
-
การกำหนดช่วงเวลา: ฟังก์ชันนี้กำหนดอาเรย์ชื่อ
$chunks
อาเรย์นี้เก็บเวลาต่าง ๆ และป้ายกำกับที่สอดคล้อง (เช่น ปี, เดือน, สัปดาห์, วัน, ชั่วโมง, นาที, วินาที) ช่วงเวลาเหล่านี้ช่วยในการกำหนดวิธีการแสดงเวลาแบบที่ผ่านมา -
การคำนวณเวลาที่ผ่านมา: การวนรอบจะทำการวนไปที่อาเรย์
$chunks
เพื่อตรวจหาหน่วยเวลาที่ใหญ่ที่สุดที่สอดคล้องกับจำนวนวินาทีที่ผ่านไป ฟังก์ชันจะคำนวณว่าหน่วยนั้นจะอยู่ในเวลาที่กำหนดกี่หน่วย -
การจัดรูปแบบการแสดงผล: เมื่อหน่วยเวลาที่เหมาะสมถูกพบ ฟังก์ชันจะจัดรูปแบบสตริงที่ส่งคืน หากเวลาเป็นเอกพจน์ (เช่น “1 นาที”) มันจะหลีกเลี่ยงการทำให้หน่วยเป็นพหูพจน์ มิฉะนั้นจะเพิ่ม ’s’ ที่ท้าย (เช่น “2 นาที”)
ตัวอย่างการใช้งาน
ในการใช้ฟังก์ชันนี้เพียงแค่เรียกใช้ฟังก์ชันด้วยจำนวนวินาทีเป็นอาร์กิวเมนต์ สำหรับตัวอย่าง:
echo time_since(720); // แสดงผล: "12 นาที"
echo time_since(5); // แสดงผล: "5 วินาที"
วิธีนี้ทำให้การแสดงว่าเหตุการณ์เกิดขึ้นเมื่อไหร่ในรูปแบบที่เข้าใจง่ายสำหรับผู้ใช้งานได้
สรุป
การดำเนินการฟังก์ชัน time_since()
ที่ง่ายจะช่วยปรับปรุงการนำเสนอเวลาที่ดีในแอปพลิเคชัน PHP ของคุณ ไม่เพียงแต่ให้บริบทที่จำเป็น แต่ยังสร้างประสบการณ์ผู้ใช้ที่มีส่วนร่วมและเป็นมิตรมากขึ้น โดยใช้การจัดรูปแบบเวลาที่ผ่านมา คุณสามารถสร้างส่วนติดต่อที่ดึงดูดซึ่งช่วยให้ผู้ใช้เข้าใจความทันสมัยของเนื้อหาที่พวกเขากำลังมีปฏิสัมพันธ์ได้อย่างง่ายดาย
คุณสามารถปรับเปลี่ยนและขยายฟังก์ชันนี้ให้เหมาะสมกับความต้องการของคุณ และในไม่ช้าปรับปรุงแอปพลิเคชันเว็บของคุณให้ใช้งานง่ายและให้ข้อมูลมากขึ้น โค้ดดิ้งให้สนุก!