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)