โค้ดดิ้ง

ฟังก์ชั่นแปลงวันที่เป็นภาษาไทย PHP

ปกติเวลาเราเขียนโค้ด 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);
?>

Nidkoma

ชื่นชอบในการเขียนบทความ และการหาความรู้ในด้านต่างๆ ชอบถ่ายรูป ถ่ายวิดีโอ ชอบฟัง แต่ไม่ชอบพูดมั้ง ?? ^ ^
Back to top button