โค้ดดิ้ง
ฟังก์ชั่นแปลงวันที่เป็นภาษาไทย PHP
![](https://i1.wp.com/wolfxstudio.com/wp-content/uploads/2024/05/dateThai-768x532-1.jpg?resize=768%2C470&ssl=1)
ปกติเวลาเราเขียนโค้ด php แสดงวันที่ผลลัพธ์ที่ได้ก็จะเป็นแบบนี้
<?php
$date = date("Y-m-d H:i:s");
echo $date;
?>
Output : 2023-10-10 13:51:32
ซึ่งแน่นอนว่าคงไม่ถูกใจใครหลายๆคน ดังนั้นวันนี้ผมจะมาแนะนำฟังชั่นแปลงวันที่ให้เป็นภาษาไทยแบบที่เราต้องการ
function date_thai($dateTime)
{
$year = date("Y",strtotime($dateTime))+543;
$month= date("n",strtotime($dateTime));
$day= date("j",strtotime($dateTime));
$hour= date("H",strtotime($dateTime));
$minute= date("i",strtotime($dateTime));
$seconds= date("s",strtotime($dateTime));
$monthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.",
"พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$monthThai=$monthCut[$month];
return "$day $monthThai $year เวลา $hour:$minute:$seconds น.";
}
วิธีเรียกใช้งาน
echo date_thai($date);
Output : 10 ต.ค. 2566 เวลา 13:51:32 น.
ในส่วนของโค้ดชุดนี้เราสามารถเปลี่ยนเดือน ม.ค. ก.พ. หรือเดือนอื่นๆให้เป็นแบบเดือนเต็มได้
$monthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.",
"ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
จะได้เป็น
$monthCut = Array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
นอกจากนี้เรายังสามารถปรับเปลี่ยนรูปแบบการแสดงผลได้
return "$day $monthThai $year เวลา $hour:$minute:$seconds น.";
อาจจะปรับให้สั้นลง (อยากโชว์อะไรก็ return ตัวแปรนั้นออกมา รวมถึงเติมคำอะไรลงไปก็ได้
return "$day $monthThai $year , $hour:$minute";
โค้ดแบบเต็ม
<?php
function date_thai($dateTime)
{
$year = date("Y",strtotime($dateTime))+543;
$month= date("n",strtotime($dateTime));
$day= date("j",strtotime($dateTime));
$hour= date("H",strtotime($dateTime));
$minute= date("i",strtotime($dateTime));
$seconds= date("s",strtotime($dateTime));
$monthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.",
"มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$monthThai=$monthCut[$month];
return "$day $monthThai $year เวลา $hour:$minute:$seconds น.";
}
$date = date("Y-m-d H:i:s");
echo date_thai($date);
?>