แปลง พ.ศ. ค.ศ. และลองรูปแบบ thaidate()

แปลงปีไปกลับได้ทันที แล้วลองพิมพ์ format ดูว่า thaidate() จะพิมพ์อะไรออกมา คำนวณแบบเดียวกับแพ็กเกจเวอร์ชัน 14

พ.ศ. = ค.ศ. + 543 พิมพ์เลขไทยก็ได้ เช่น ๒๕๖๙

ลองรูปแบบ thaidate()

พิมพ์ format แล้วดูผลได้เลย หรือกดรูปแบบที่ใช้บ่อยใต้ช่องเพื่อเริ่มต้น เสร็จแล้วคัดลอกโค้ดไปวางในโปรเจกต์ได้ วันที่บนหน้านี้คิดเป็นเวลาไทย (Asia/Bangkok)

ผลลัพธ์

วันเสาร์ที่ 10 ตุลาคม พ.ศ. 2569 เวลา 09:05 น.
thaidate('วันlที่ j F พ.ศ. Y เวลา H:i น.', $date)

token ที่ใช้ได้

ใช้ token ชุดเดียวกับ date() ตัวที่มีป้าย ไทย คือตัวที่ thaidate() เปลี่ยนเป็นชื่อไทยหรือปี พ.ศ. ส่วน X x และ c ยังเป็นปี ค.ศ. และ r ยังเป็นชื่ออังกฤษ กด token เพื่อเติมต่อท้าย format ด้านบน

วัน

วันที่ 2 หลัก
10
วันที่ ไม่เติม 0
10
ชื่อวันเต็มไทย
เสาร์
ชื่อวันย่อไทย
ส.
วันในสัปดาห์ 1 (จันทร์) ถึง 7 (อาทิตย์)
6
วันในสัปดาห์ 0 (อาทิตย์) ถึง 6 (เสาร์)
6
คำต่อท้ายลำดับแบบอังกฤษ st, nd, rd, th
th
วันที่เท่าไรของปี นับจาก 0
282

สัปดาห์และเดือน

สัปดาห์ที่เท่าไรของปี ตาม ISO 8601
41
ชื่อเดือนเต็มไทย
ตุลาคม
ชื่อเดือนย่อไทย
ต.ค.
เดือน 2 หลัก
10
เดือน ไม่เติม 0
10
จำนวนวันในเดือนนั้น
31

ปี

ปี 4 หลัก เป็น พ.ศ.ไทย
2569
ปี 2 หลัก เป็น พ.ศ.ไทย
69
ปีของสัปดาห์ ISO เป็น พ.ศ.ไทย
2569
ปีอธิกสุรทิน (1 หรือ 0) คิดจากปี ค.ศ.
0
ปี ค.ศ. แบบมีเครื่องหมาย ไม่แปลงเป็น พ.ศ.
+2026
ปี ค.ศ. ใส่เครื่องหมายเมื่อจำเป็น ไม่แปลงเป็น พ.ศ.
2026

เวลา

ชั่วโมง 00–23
09
ชั่วโมง 0–23
9
ชั่วโมง 01–12
09
ชั่วโมง 1–12
9
นาที
05
วินาที
00
am หรือ pm
am
AM หรือ PM
AM
มิลลิวินาที
000
ไมโครวินาที
000000
Swatch Internet Time
128

เขตเวลาและวันเวลาเต็ม

ชื่อเขตเวลา
Asia/Bangkok
ตัวย่อเขตเวลา
+07
ส่วนต่างจาก UTC แบบมี :
+07:00
เหมือน P แต่ UTC พิมพ์เป็น Z
+07:00
ส่วนต่างจาก UTC ไม่มี :
+0700
ส่วนต่างจาก UTC เป็นวินาที
25200
อยู่ในช่วง daylight saving ไหม (ไทยไม่มี)
0
ISO 8601 ปีเป็น ค.ศ.
2026-10-10T09:05:00+07:00
RFC 2822 ชื่อวันเดือนเป็นอังกฤษ
Sat, 10 Oct 2026 09:05:00 +0700
Unix timestamp
1791597900

อักขระพิเศษ

\
พิมพ์ตัวถัดไปตามที่เขียน เช่น \Y ได้ตัว Y ไม่ใช่ปี
อื่น ๆ
ข้อความไทยและตัวอักษรที่ไม่ใช่ token พิมพ์ตามที่เขียน ส่วนตัวเลขที่ไม่ได้ escape จะกลายเป็นเลขไทยด้วยเมื่อเปิดเลขไทย

ปีงบประมาณ

ปีงบประมาณของราชการเริ่ม 1 ตุลาคม จบ 30 กันยายน และเรียกตามปีที่จบ แพ็กเกจจึงมี Carbon macro ไว้หาปีงบและวันแรกวันสุดท้ายของปีงบนั้น ใช้กรองรายงานได้ตรง ๆ

วันที่ที่เลือกไว้ข้างบน 10 ตุลาคม 2569

$date->thaiFiscalYear()
2570
$date->thaiFiscalYear(false)
2027
$date->startOfThaiFiscalYear()
2026-10-01 00:00:00
$date->endOfThaiFiscalYear()
2027-09-30 23:59:59
Invoice::whereBetween('issued_at', [
    now()->startOfThaiFiscalYear(),
    now()->endOfThaiFiscalYear(),
])->sum('total');

ใช้ใน PHP และ Laravel

ทุกอย่างบนหน้านี้มาจากแพ็กเกจ thaidate ที่เราแบ่งปันให้ชุมชนนำไปใช้และต่อยอดได้อย่างอิสระ thaidate() ใช้ได้กับ PHP ทั่วไป ส่วนใน Laravel จะได้ Carbon macro และตัวอ่านวันที่ พ.ศ. กลับเป็น Carbon เพิ่มมาด้วย

composer require phattarachai/thaidate
thaidate('j F Y', '2026-10-10');
// 10 ตุลาคม 2569

$order->created_at->thaidate('D j M y');
// ส. 10 ต.ค. 69

Carbon::createFromThaiFormat('d/m/Y', '10/10/2569');
// 2026-10-10 00:00:00

ดูโค้ดบน GitHubอ่านวิธีใช้แบบเต็มที่ แปลงวันที่เป็นภาษาไทย ปี พ.ศ. ใน PHP และ Laravel ด้วย thaidate()

ฟอร์ม Filament ใช้ filament-thai-date-picker ให้เลือกวันเป็น พ.ศ. แต่เก็บเป็น ค.ศ.

เครื่องมืออื่น

ดูทั้งหมด

มีงานอยากให้ช่วย เล่าให้เราฟัง

บอกสั้น ๆ ว่าอยากทำอะไร หรือระบบเดิมติดตรงไหน เดี๋ยวเราติดต่อกลับทางที่คุณสะดวก

คุยโปรเจกต์

หรืออีเมลถึงเราโดยตรง [email protected]