นับเป็นปัญหาที่โปรแกรมเมอร์ทุกคนต้องประสบพบเจอ บทความนี้จะพยายามสรุปเรื่องราวเกี่ยวกับ Date Time ที่หลายๆคนสงสัย ให้กระจ่างที่สุดเท่าที่จะทำได้นะครับ ปัญหาที่เจอคืออะไร ? ปัญหาส่วนมากคือเรื่องของ Locale ครับ เช่น ตอนเราพัฒนาโปรแกรมที่เครื่องของเรา มี filed ที่เก็บวันที่ พอเรา design database เราก็กำหนดให้เป็น type Datetime แต่เรามักจะให้ user input เป็น String Format เช่น dd/mm/yyyy ซึ่ง 08/07/2552 ก็หมายถึง วันที่ 08 กรกฎาคม พ.ศ. 2552 พอนำ text ชุดนี้ไป save ลง database ก็มักจะไม่มีปัญหาอะไร (แน่แหละ ถ้ามันบันทึกผิด เราก็ต้องแก้) แต่ปัญหามักจะเกิดตอนที่ เราย้าย code ของเราไปบน server แล้วก็เกิดปัญหาเรื่องของ Locale ขึ้น เช่น server มองว่า 2552 เป็นปี ค.ศ. แทนที่จะเป็น พ.ศ. หรือ 08/07/2552 แทนที่จะมองเป็น วันที่ 08 กรกฎาคม พ.ศ. 2552 กลับมองเป็น วันที่ 07 มิถุนายน พ.ศ. 3095 ซึ่งก็มักจะบันทึกไม่ได้ เกิด error datetime out of range   read more...