:: Kunagorn Sirikup :: C# Developer

31/7/56

วิธีการสร้าง DateTime ที่รับจาก Input String

ในกรณีที่ 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);

ไม่มีความคิดเห็น:

แสดงความคิดเห็น