การรับวันที่ปัจจุบัน

C#:
การรับวันที่ปัจจุบัน

วิธีการ:

C# มีวิธีที่ตรงไปตรงมาในการรับวันที่ปัจจุบันโดยใช้คลาส DateTime ซึ่งเป็นส่วนหนึ่งของเนมสเปซ System ใน .NET Framework ตัวอย่างด้านล่างนี้แสดงวิธีการรับวันที่ปัจจุบัน และเวลาหากต้องการ

using System;

class Program
{
    static void Main()
    {
        // รับวันที่ปัจจุบันเท่านั้น
        DateTime currentDate = DateTime.Today;
        Console.WriteLine(currentDate.ToString("d"));  // ผลลัพธ์: MM/dd/yyyy
        
        // รับวันที่และเวลาปัจจุบัน
        DateTime currentDateTime = DateTime.Now;
        Console.WriteLine(currentDateTime.ToString()); // ผลลัพธ์: MM/dd/yyyy HH:mm:ss

        // รับวันที่และเวลาปัจจุบันใน UTC
        DateTime currentUtcDateTime = DateTime.UtcNow;
        Console.WriteLine(currentUtcDateTime.ToString()); // ผลลัพธ์: MM/dd/yyyy HH:mm:ss
    }
}

ในแง่ของไลบรารีภายนอก, NodaTime นำเสนอทางเลือกที่คงทนสำหรับการจัดการวันที่และเวลา, รวมถึงการเรียกดูวันที่ปัจจุบันในปฏิทินและเขตเวลาต่างๆ

using NodaTime;
using System;

class Program
{
    static void Main()
    {
        // ใช้ NodaTime เพื่อรับวันที่ปัจจุบันในปฏิทิน ISO
        LocalDate currentDate = SystemClock.Instance.GetCurrentInstant().InUtc().Date;
        Console.WriteLine(currentDate.ToString()); // ผลลัพธ์: yyyy-MM-dd

        // สำหรับวันที่ที่เฉพาะเจาะจงตามเขตเวลา
        DateTimeZone zone = DateTimeZoneProviders.Tzdb["America/New_York"];
        LocalDate currentZonedDate = SystemClock.Instance.GetCurrentInstant().InZone(zone).Date;
        Console.WriteLine(currentZonedDate.ToString()); // ผลลัพธ์: yyyy-MM-dd
    }
}

นี่แสดงให้เห็นถึงการใช้งานพื้นฐานกับคลาส DateTime ภายในตัว และความสามารถเพิ่มเติมที่ NodaTime นำเสนอ โดยเฉพาะอย่างยิ่งมีประโยชน์สำหรับแอปพลิเคชันที่ต้องการการจัดการเขตเวลาหรือระบบปฏิทินต่างๆ