ในกรณีที่ String หรือ TextBox เก็บข้อมูล DateTime ในรูปแบบ dd/MM/yyyy เช่น 26/08/2008 เมื่อนำมา Convert อาจะเกิดข้อผิดพลาดได้ถ้ารูปแบบ Datetime ที่อ้างอิงจาก Regional ของเครื่องมีค่าเป็น MM/dd/yyyy เพราะ MM มีค่าแค่ 12 เดือน แต่ค่าที่รับมาคือ 26 ทำให้ระบบไม่สามารถ Convert ข้อมูล DateTime ได้ ดังนั้น จึงวิธีการแก้ปัญหาโดยการรับข้อมูล DateTime ที่เป็น String แล้วนำมา Split ค่าออกมาเป็น Array ของ String เช่น
string[] dateArr = “26/08/2008″.Split(‘/’);
จะได้ข้อมูลออกมาเป็น
dateArr[0] = "26" dateArr[1] = "08" dateArr[2] = "2008"
ดังนั้น สร้างข้อมูล DateTime โดยกำหนด Parameter ปี เดือน วัน สามารถต่างๆทำได้ ดังนี้
DateTime date = new DateTime(int Year, int Month, int Day, int minute, int second , int millisecond)
Example Code
string[] dateArr = txtDateTime.ToString().Split('/'); DateTime date = new DateTime(int.Parse(dateArr[2]) , int.Parse(dateArr[1]) , int.Parse(dateArr[0]), 0, 0, 0);
ไม่มีความคิดเห็น:
แสดงความคิดเห็น