การแปลงวันที่เป็นสตริง

C#:
การแปลงวันที่เป็นสตริง

วิธีการ:

ใน C#, คุณมีวัตถุ DateTime และหลายวิธีในการเปลี่ยนมันเป็นสตริง นี่คือตัวอย่างบางส่วน:

DateTime now = DateTime.Now;
string defaultString = now.ToString(); // รูปแบบเริ่มต้น
string specificFormat = now.ToString("yyyy-MM-dd"); // รูปแบบที่กำหนดเอง, ที่นี้คือ ISO 8601
string withCulture = now.ToString("d", new CultureInfo("en-US")); // วัฒนธรรมของสหรัฐฯ รูปแบบวันที่สั้น

Console.WriteLine(defaultString); // ผลลัพธ์ขึ้นอยู่กับการตั้งค่าวัฒนธรรมของระบบ
Console.WriteLine(specificFormat); // ผลลัพธ์: "2023-04-01"
Console.WriteLine(withCulture); // ผลลัพธ์: "4/1/2023"

ลงลึก

ก่อนหน้านี้, การจัดการเรื่องวันที่และสตริงนั้นยากกว่า ปัจจุบัน, DateTime ใน C# มี .ToString() ที่มี overloads สำหรับวัฒนธรรมและรูปแบบ IFormatProvider interface, เช่น CultureInfo, ควบคุมการจัดรูปแบบตามวัฒนธรรม

มีทางเลือกอื่นหรือไม่? แน่นอน! String.Format และ interpolation ($"{now:yyyy-MM-dd}") เป็นตัวเลือกสำหรับการแทรกวันที่เข้ากับสตริงที่มีบริบท DateTimeOffset เป็นที่นิยมสำหรับความจำเพาะของเขตเวลา

จากมุมมองของการทำงาน, จำไว้ว่า DateTime เป็นโครงสร้าง, ดังนั้นจึงเป็นประเภทของค่า การแปลงมันไม่เปลี่ยนแปลงตัวตนต้นฉบับ: ความเป็น immutable สำคัญที่สุด เลือกรูปแบบสตริงอย่างชาญฉลาดตามผู้ชมของคุณ (ผู้ใช้) และระบบที่คุณกำลังส่งข้อมูลไปยัง (ฐานข้อมูล, APIs)

ดูเพิ่มเติม