ฉันมีวันที่และเวลากลับมาจากไฟล์ XML ในรูปแบบ:
20080916 11:02
เช่นเดียวกับใน
yyyymm hh: ss
ฉันจะรับฟังก์ชัน datetime.parse เพื่อรับสิ่งนี้ได้อย่างไร คือแยกวิเคราะห์มันโดยไม่มีข้อผิดพลาด? ไชโย
ฉันมีวันที่และเวลากลับมาจากไฟล์ XML ในรูปแบบ:
20080916 11:02
เช่นเดียวกับใน
yyyymm hh: ss
ฉันจะรับฟังก์ชัน datetime.parse เพื่อรับสิ่งนี้ได้อย่างไร คือแยกวิเคราะห์มันโดยไม่มีข้อผิดพลาด? ไชโย
คำตอบ:
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);
สมมติว่าคุณตั้งใจจะบอกว่านาทีตามชั่วโมงไม่ใช่วินาที - ตัวอย่างของคุณค่อนข้างสับสน
เอกสาร ParseExactรายละเอียด overloads อื่น ๆ ในกรณีที่คุณต้องการที่จะมีการแยกวิเคราะห์โดยอัตโนมัติแปลงเป็นเวลามาตรฐานสากลหรือสิ่งที่ต้องการ
ตามที่ @ Joel Coehoornกล่าวถึงก็มีตัวเลือกในการใช้TryParseExactซึ่งจะส่งคืนค่าบูลีนที่แสดงถึงความสำเร็จหรือความล้มเหลวของการดำเนินการ - ฉันยังคงใช้งาน. Net 1.1 อยู่บ่อยครั้งดังนั้นฉันจึงลืมสิ่งนี้
หากคุณต้องการแยกวิเคราะห์รูปแบบอื่น ๆ คุณสามารถตรวจสอบสตริงรูปแบบวันที่และเวลามาตรฐานได้
standard XML specific DateTime format
?
ขอบคุณสำหรับเคล็ดลับฉันใช้สิ่งนี้เพื่อรับวันที่ "20071122" แยกวิเคราะห์ฉันต้องการเพิ่ม datetimestyles ฉันใช้ไม่ได้เลยและใช้งานได้:
DateTime dt = DateTime.MinValue;
DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);