C#:
การแยกวันที่ออกจากสตริง
วิธีการ:
การแยกวิเคราะห์พื้นฐาน:
DateTime.Parse
และ DateTime.TryParse
เป็นตัวเลือกไปสำหรับการแปลงสตริงเป็น DateTime
นี่คือตัวอย่างที่รวดเร็ว:
string dateString = "2023-04-12";
DateTime parsedDate;
if (DateTime.TryParse(dateString, out parsedDate))
{
Console.WriteLine($"การแยกวิเคราะห์สำเร็จ: {parsedDate}");
}
else
{
Console.WriteLine("การแยกวิเคราะห์ล้มเหลว");
}
// ผลลัพธ์: การแยกวิเคราะห์สำเร็จ: 4/12/2023 12:00:00 AM
ระบุวัฒนธรรม:
บางครั้งคุณต้องการแยกวิเคราะห์สตริงวันที่ที่อยู่ในรูปแบบวัฒนธรรมเฉพาะ คุณสามารถทำได้โดยใช้คลาส CultureInfo
:
using System.Globalization;
string dateString = "12 avril 2023";
var cultureInfo = new CultureInfo("fr-FR");
DateTime parsedDate = DateTime.Parse(dateString, cultureInfo);
Console.WriteLine(parsedDate);
// ผลลัพธ์: 4/12/2023 12:00:00 AM
การแยกวิเคราะห์แบบเฉพาะด้วยรูปแบบที่เจาะจง:
สำหรับสถานการณ์ที่วันที่มาในรูปแบบที่อาจจะไม่เป็นมาตรฐาน, DateTime.ParseExact
เป็นวิธีที่เหมาะสม:
string dateString = "Wednesday, 12 April 2023";
string format = "dddd, d MMMM yyyy";
DateTime parsedDate = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
Console.WriteLine(parsedDate);
// ผลลัพธ์: 4/12/2023 12:00:00 AM
การใช้ NodaTime:
สำหรับการแยกวิเคราะห์วันที่และเวลาที่แข็งแกร่งยิ่งขึ้น พิจารณาใช้ไลบรารีภายนอกยอดนิยมอย่าง NodaTime มันให้ความสามารถในการจัดการวันที่/เวลาที่กว้างขวางยิ่งขึ้น:
using NodaTime;
using NodaTime.Text;
var pattern = LocalDatePattern.CreateWithInvariantCulture("yyyy-MM-dd");
var parseResult = pattern.Parse("2023-04-12");
if (parseResult.Success)
{
LocalDate localDate = parseResult.Value;
Console.WriteLine(localDate); // 2023-04-12
}
else
{
Console.WriteLine("การแยกวิเคราะห์ล้มเหลว");
}
NodaTime มีการสนับสนุนเวลาท้องถิ่น แนวคิดเรื่องระยะเวลาและช่วงเวลา และระบบปฏิทินที่แตกต่างกันมากมาย ทำให้เป็นตัวเลือกที่มีประสิทธิภาพสำหรับการจัดการวันที่และเวลาที่ซับซ้อนในแอปพลิเคชัน .NET