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)