เรียนรู้การใช้งาน toLocaleDateString เพื่อแปลงออบเจ็กต์ของ date เป็นข้อความวันที่ภาษาไทย
toLocaleDateString เป็นเมธอดของ Date
เพื่อใช้แปลงออบเจ็กต์ของ Date
เป็นข้อความวันที่ตาม Locale และฟอร์แมตที่ระบุ
มีรูปแบบการใช้งานคือ dateObj.toLocaleDateString([locales [, options]])
เช่น
1const date = new Date(2020, 7, 1)23const result = date.toLocaleDateString('th-TH', {4 year: 'numeric',5 month: 'long',6 day: 'numeric',7})
ผลลัพธ์ของ result
ที่ได้คือ 1 สิงหาคม 2563
หมายเหตุ: ในส่วนของเดือนนั้นค่าเริ่มต้นคือ 0 หมายถึงเดือน มกราคม และ 11 คือเดือนธันวาคมครับ ฉะนั้นเลข 7 จึงหมายถึงเดือน 8 หรือเดือนสิงหาคมนั่นเอง
ตามตัวอย่างข้างต้นระบุ locales
ให้มีค่าเป็น th-TH
เพื่อแสดงผลภาษาไทย ในส่วนของ options
นั้น
ระบุให้แสดงผลปีเป็นตัวเลข เดือนเป็นข้อความ และวันเป็นตัวเลขเช่นกัน จึงเกิดการฟอร์แมตผลลัพธ์ตามข้างต้น
ส่วนของ options นอกจากสามารถระบุ year, month และ day ได้แล้ว ค่าอื่นที่สามารถระบุเพิ่มได้ เช่น weekday, era, hour, minute, second, timeZoneName เป็นต้น
1const date = new Date(2020, 7, 1)23const result = date.toLocaleDateString('th-TH', {4 year: 'numeric',5 month: 'long',6 day: 'numeric',7 weekday: 'long',8})
จากโค้ดข้างต้นผลลัพธ์ของ result คือ วันเสาร์ที่ 1 สิงหาคม 2563
ในแต่ละค่าของ option สามารถกำหนดค่าการแสดงผลได้แตกต่างกัน เช่น กรณีของวันเสาร์ที่เป็นส่วนแสดงของ weekly
สามารถกำหนดค่าเป็น long
เพื่อแสดงคำเต็มคือ วันเสาร์
(Saturday ในภาษาอังกฤษ)
กำหนดเป็น short
เพื่อแสดงแบบย่อเป็น ส.
(Sat ในภาษาอังกฤษ)
หรือกำหนดเป็น narrow
เพื่อแสดงเป็น ส
(S ในภาษาอังกฤษ) ก็ได้เช่นกัน