การใช้ Date, Datetime แปลงปี พ.ศ กับ ค.ศ บน .NET Framework

1 May 2013 3:43 AM Programming , ,

บทความนี้ที่จริงแล้ว ผมต้องการจะอธิบายเรื่องของคลาส CultureInfo ที่จะนำเข้ามากำหนดรูปแบบให้กับข้อมูลจำพวก Date หรือ Datetime บน .NET เพียงแต่ว่าไม่รู้จะเริ่มอธิบายยังไง จึงนำ CultureInfo นั้นมาใช้ในการแปลงปี พ.ศ กับ ค.ศ โดยไม่ต้องกังวลและยึดติดกับสภาพแวดล้อมของเครื่องว่าถูกตั้งค่ามาแบบไหน (ผมเชื่อว่าหลายคนก็ปวดหัวกับมัน)

โค๊ดโปรแกรมตัวอย่างต่อไปนี้ จึงเป็นโค๊ดที่เพียงแค่ดึงเอา ช่วงเวลาปัจจุบันออกมาแสดงผลทั้ง พ.ศ กับ ค.ศ โดยไม่ต้องไปนั่ง – หรือ + ค่าปี (543) ลงไป

ที่ผมส่งพารามิเตอร์เข้าใน Class CultureInfo() ว่า “th-TH” และ “en-US” นั้นสามารถดูรายชื่อย่อ Culture รูปแบบต่างๆ ได้ที่ MSDN CultureInfo Class ว่าสามารถส่งอะไรเข้าไปได้บ้าง ในส่วนของโปรแกรมนี้โปรแกรมก็จะแสดงผลบน DOS ออกมาเพียงเท่านี้

.NET Year Date Output CultrueInfo

จะเห็นได้ว่าแสดงออกมาทั้ง พ.ศ. และ ค.ศ. ได้อย่างถูกต้องละนะครับ ไม่ต้องไปลำบากบวกลบคำนวณอะไร ง่ายๆ ใช่ไหมละครับ ซึ่งหากผมเพิ่มฟอร์แมตจาก “yyyy” ไปเป็น “MMMM-yyyy” โปรแกรมก็จะแสดงชื่อเดือนแบบเต็มทั้งของภาษาไทยและภาษาอังกฤษ แต่ผมไม่ขอยกตัวอย่างให้ดูนะครับ เนื่องจาก DOS ของผมแสดงภาษาไทยไม่ได้ ไว้เนื้อหาคราวหน้าจะมาบอกวิธีเพิ่มเดือน และปี โดยไม่ต้องพิมพ์รายชื่อเอง อีกทั้งได้ทั้งชื่อภาษาไทยและอังกฤษเลยละครับ