function php เปลี่ยนวันที่เป็นภาษาไทย

วันนี้นึกครึ้มมารื้อ function เก่าๆ มาเจอกันนี้เข้าก็เลยเปลี่ยนใหม่ซะเลย เดิมทีใช้ swich case มาเป็นตัวเช็คชื่อเดือน ตอนหลังมาเปลี่ยนเป็น array ดีกว่า จะได้ลดการเช็คเงื่อนไขไป มาดูตัวอย่างกันเลย

function thai_date($datetime,$format,$clock){
 
 list($date,$time) = split(' ',$datetime);
// list($H,$i,$s) = split(':',$time);
 list($Y,$m,$d) = split('-',$date);
 $Y = $Y+543;

 $month = array(
  '0' => array('01'=>'มกราคม','02'=>'กุมภาพันธ์','03'=>'มีนาคม','04'=>'เมษายน','05'=>'พฤษภาคม','06'=>'มิถุนายน','07'=>'กรกฏาคม','08'=>'สิงหาคม','09'=>'กันยายน','10'=>'ตุลาคม','11'=>'พฤษจิกายน','12'=>'ธันวาคม'),
  '1' => array('01'=>'ม.ค.','02'=>'ก.พ.','03'=>'มี.ค.','04'=>'เม.ย.','05'=>'พ.ค.','06'=>'มิ.ย.','07'=>'ก.ค.','08'=>'ส.ค.','09'=>'ก.ย.','10'=>'ต.ค.','11'=>'พ.ย.','12'=>'ธ.ค.')
 );
 if ($clock == false)
  return $d.' '.$month[$format][$m].' '.$Y;
 else
  return $d.' '.$month[$format][$m].' '.$time;
}

$format = ใช้เช็คว่า เราจะใช้ ชื่อเดือน แบบไหน ถ้า 0 ก็จะเป็นแบบเต็มๆ ถ้า 1ก็จะเป็นแบบย่อๆ สามารถใสเพิ่มได้เป็น 2 3 4 จะให้รูปแบบเดือนเป็นแบบไหนก็ตามแต่ใจต้องการ

$clock = ค่า true, false ว่าจะให้แสดงเวลาหรือไม่ ถ้าใช่ก็ใส่ true ถ้าไม่ใช้ก็ใส่ false

การเรียกใช้ก็ง่ายๆ แบบนี้

thai_date($yourdatetime, 1,false);

$youdatetime ในที่นี้เอามาจาก MySQL ครับ จะมีรูปแบบดังนี้ YYYY-MM-DD HH:II:SS