แสดงวันที่ภาษาไทยด้วย thaidate()

วันที่ภาษาไทย บางครั้งดูเป็นเรื่องใหญ่ เพราะบางครั้งต้องเขียนโค้ดยืดยาวเพื่อแปลงเอาปีพ.ศ.มาบวก 543 บางครั้งรูปแบบวันที่ออกมาจากฟังก์ชั่นอื่นก็ไม่ได้ดั่งใจ

ด้วยเหตุนี้เอง ผมจึงได้ทำฟังก์ชั่น thaidate() และ thaistrftime() ออกมาให้ใช้งาน โดยสามารถอ้างอิง parameter ต่างๆจาก php date(), php strftime() ได้ทุกอย่างโดยไม่มีปัญหา

Download หรือติดตั้งผ่าน Composer

อ้างอิง เอกสาร API

License: MIT

การใช้งาน

ให้ทำการ include Rundiz/Thaidate/thaidate-functions.php และ Rundiz/Thaidate/Thaidate.php แล้วเขียนเหมือนกับฟังก์ชั่น date() หรือ strftime() ทุกอย่าง


<?php
include_once('Rundiz/Thaidate/Thaidate.php');
include_once('Rundiz/Thaidate/thaidate-functions.php');

echo thaidate('วันlที่ j F พ.ศ.Y เวลาH:i:s'); //ผลลัพธ์ วันพฤหัสบดีที่ 12 พฤศจิกายน พ.ศ.2558 เวลา18:55:29

echo sprintf(thaistrftime('%%s%A%%s %d %B %%s%Y %%s%H:%M:%S'), 'วัน', 'ที่', 'พ.ศ.', 'เวลา');
// ผลลัพธ์ วันพฤหัสบดีที่ 12 พฤศจิกายน พ.ศ.2558 เวลา18:56:06
?>

thaidate(string $format [, int $timestamp = time() [, boolean $buddhist_era = true]])
parameter:
ค่าแรกให้อ้างอิงตาม php date()
ค่าที่สองคือ timestamp เหมือนกับใน php date()
ค่าที่สามคือปีพ.ศ. เป็น boolean (true, false) ถ้าไม่กำหนดจะเป็น true คือแปลงเป็นปีพ.ศ. ถ้ากำหนดเป็น false จะไม่แปลง คือเป็นปี ค.ศ.

thaistrftime(string $format [, int $timestamp = '' [, boolean $buddhist_era = true [, string $locale = 'th']]])
parameter:
ค่าแรก ให้อ้างอิงตาม php strftime()
ค่าที่สองคือ timestamp เหมือนกับใน php strftime()
ค่าที่สามคือปีพ.ศ. เป็น boolean (true, false) ถ้าไม่กำหนดจะเป็น true คือแปลงเป็นปีพ.ศ. ถ้ากำหนดเป็น false จะไม่แปลง คือเป็นปี ค.ศ.
ค่าที่สี่คือรหัสภาษา (locale) ซึ่งบาง server อาจใช้แตกต่างกันไป โปรดตรวจสอบและกำหนดด้วยตัวเอง

thaidate

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>