สร้างรูปแบบ วันที่ คล้าย วันที่ใน facebook comment ด้วย php อย่างง่าย
หน้าแรก facebook app สร้างรูปแบบ วันที่ คล้าย วันที่ใน facebook comment ด้วย php อย่างง่าย
ตัวอย่างรูปแบบฟังก์ชัน php ต่อไปนี้เป็นรูปแบบ การกำหนด การแสดงข้อมูลวันที่ ในลักษณะคล้าย
กับวันที่ที่แสดงใน facebook comment สามารถนำไปประยุกต์ หรือปรับแต่งเพิ่มเติมได้ตามต้องการ
รูปแบบการแสดงจะเป้นไป ดังนี้
เวลาในวินาที
ผ่านมา 1 วินาที
1 second ago
ผ่านมา 3 หรือ 4 วินาที
a few seconds ago
ผ่านมา 1 นาที
1 minute ago
ผ่านมา 3 หรือ 4 นาที
a few minutes ago
ผ่านมาแล้ว 1 ชั่วโมง
about an hour ago
ผ่านมาแล้ว 7 ชั่วโมง
7 hours ago
ผ่านมาแล้ว 1 วัน (เมื่อวาน)
Yesterday at 11:28am
วันอื่นๆ ภายในปีปัจจุบัน
December 28 at 9:08am
วันอื่นๆ ปีก่อนหน้า
December 28, 2010 at 9:08am
โค้ดฟังก์ชัน
แสดงปกติพิมพ์โค้ดนี้?
<?php
function fb_date($timestamp){
$difference = time() - $timestamp;
$periods = array("second", "minute", "hour");
$ending=" ago";
if($difference<60){
$j=0;
$periods[$j].=($difference != 1)?"s":"";
$difference=($difference==3 || $difference==4)?"a few ":$difference;
$text = "$difference $periods[$j] $ending";
}elseif($difference<3600){
$j=1;
$difference=round($difference/60);
$periods[$j].=($difference != 1)?"s":"";
$difference=($difference==3 || $difference==4)?"a few ":$difference;
$text = "$difference $periods[$j] $ending";
}elseif($difference<86400){
$j=2;
$difference=round($difference/3600);
$periods[$j].=($difference != 1)?"s":"";
$difference=($difference != 1)?$difference:"about an ";
$text = "$difference $periods[$j] $ending";
}elseif($difference<172800){
$difference=round($difference/86400);
$periods[$j].=($difference != 1)?"s":"";
$text = "Yesterday at ".date("g:ia",$timestamp);
}else{
if($timestamp<strtotime(date("Y-01-01 00:00:00"))){
$text = date("l j, Y",$timestamp)." at ".date("g:ia",$timestamp);
}else{
$text = date("l j",$timestamp)." at ".date("g:ia",$timestamp);
}
}
return $text;
}
?>
ตัวอย่างการใช้งาน
แสดงปกติพิมพ์โค้ดนี้?
ถ้าเก็บเวลาในรูปแบบ timestamp (ตัวอย่าง 1300950558)
$date_you=1300950558;
echo fb_date($date_you);
แสดงปกติพิมพ์โค้ดนี้?
ถ้าเก็บเวลาในรูปแบบ datetime (ตัวอย่าง 2011-03-24 15:30:50)
$date_you="2011-03-24 15:30:50";
echo fb_date(strtotime($date_you));
ขึ้นไปด้านบน
