หลายๆคนอาจจะกำลังมองหา เหมือนกับที่ผมหาก็เป็นได้ เมื่อต้องการเขียนฟังก์ชันแสดงผลเวลาให้ User ดูแล้วเข้าใจง่ายๆ เหมือนที่หลายๆเจ้าใช้ เช่น Facebook เมื่อเราโพสต์อะไรไป มันก็จะแสดงว่าลาว่า “เพิ่มโพสไปเมื่อสักครู่” , “เพิ่งโพสไปไม่กี่นาทีที่แล้ว” , หรือ “เมื่อชั่วโมงที่แล้ว” เป็นต้น
วันนี้ผมก็เลยเอา PHP Module ตัวนี้แหละ ที่ไปเจอมา แล้วเท่าที่ลองใช้ดูมันเวิร์คใช้ได้เลยแหละ ลองโหลดมาดูนะครับที่
https://github.com/jimmiw/php-time-ago
หลังจากที่เราโหลดมาแล้ว จะมีไฟล์ให้แก้นิดหน่อย เปิดไฟล์ timeago.inc.php ขึ้นมา
จุดแรกเลยคือภาษา ซึ่งภาษาเริมต้นที่ตัวโมดูลกำหนดมาให้จะเป็นภาษาอังกฤษ (en) เราสามารถเปลี่ยนเป็นภาษาอื่นๆได้
โดยภาษาที่เราสามารถเลือกเปลี่ยนได้จะอยู่ในโฟลเดอร์ชื่อ translations ซึ่งจากที่ผมเปิดดูก็มีภาษาให้เลือกไม่กี่ภาษา
ข้อดีคือเราสามารถสร้างภาษาเพิ่มขึ้นมาเองได้ เช่น สมมติอยากจะสร้างไฟล์ภาษาไทย ผมก็คัดลอกไฟล์ แล้วบันทึกชื่อใหม่เป็น th.php จากนั้นเราก็แก้คอนฟิกในไฟล์ timeago.inc.php ให้เป็น th ตามที่เราต้องการ
อีกจุดหนึ่งที่ต้องแก้ไขคือ Time zone หรือ โซนเวลา เพราะถ้าไม่แก้ การคำนวณอาจจะเพี้ยนไม่ตรงกับความเป็นจริง จาก Time Zone เริ่มต้นที่ให้มาเป็น Europe/Copenhagen ผมแก้ไขเป็น Asia/Bangkok เมื่อนำมาติดตั้งในเซิร์ฟเวอร์บ้านเรา ค่าเวลาที่คำนวณออกมาก็จะถูกต้องนั่นเอง
อันนี้คือภาพหลังจากที่เราทำการแก้ไขเรียบร้อย
การใช้งานนั้นก็ไม่ยากครับ สำหรับ PHP ก็ทำการ include ไฟล์ timeago.inc.php เข้ามา
จากนั้นอยากจะแสดเวลาที่ไหนก็จัดไปได้เลย โดยค่าที่ผมส่งให้เป็น Time Stamp ธรรมดาๆ ไม่ได้มีการปรับฟอร์แมตใดๆ
แล้วผลลัพธ์ที่ออกมาก็ค่อนข้างน่าพอใจสวยงามเลยทีเดียวครับ
อันนี้ก็เป็นตัวอย่างการเอาโมดูลง่ายๆ ที่เอามาช่วยเราเรื่องการแสดงผลเวลา ยังมีอีกหลายโมดูลมากที่ผมใช้งาน เดี๋ยวว่างๆ นึกอันไหนได้ ก็จะเอามาเขียนลงบล็อก แชร์ให้อ่านกันนะครับ