Obteniendo la fecha actual

C#:
Obteniendo la fecha actual

Cómo hacerlo:

C# ofrece una manera directa de obtener la fecha actual usando la clase DateTime, que es parte del espacio de nombres System del .NET Framework. El ejemplo a continuación demuestra cómo obtener la fecha actual y, opcionalmente, la hora.

using System;

class Program
{
    static void Main()
    {
        // Obtiene solo la fecha actual
        DateTime currentDate = DateTime.Today;
        Console.WriteLine(currentDate.ToString("d"));  // Salida: MM/dd/yyyy
        
        // Obtiene la fecha y hora actuales
        DateTime currentDateTime = DateTime.Now;
        Console.WriteLine(currentDateTime.ToString()); // Salida: MM/dd/yyyy HH:mm:ss

        // Obtiene la fecha y hora actuales UTC
        DateTime currentUtcDateTime = DateTime.UtcNow;
        Console.WriteLine(currentUtcDateTime.ToString()); // Salida: MM/dd/yyyy HH:mm:ss
    }
}

En términos de bibliotecas de terceros, NodaTime ofrece una alternativa robusta para la manipulación de fechas y horas, incluyendo la obtención de la fecha actual en diferentes calendarios y zonas horarias.

using NodaTime;
using System;

class Program
{
    static void Main()
    {
        // Usando NodaTime para obtener la fecha actual en el calendario ISO
        LocalDate currentDate = SystemClock.Instance.GetCurrentInstant().InUtc().Date;
        Console.WriteLine(currentDate.ToString()); // Salida: yyyy-MM-dd

        // Para fechas específicas de zona horaria
        DateTimeZone zone = DateTimeZoneProviders.Tzdb["America/New_York"];
        LocalDate currentZonedDate = SystemClock.Instance.GetCurrentInstant().InZone(zone).Date;
        Console.WriteLine(currentZonedDate.ToString()); // Salida: yyyy-MM-dd
    }
}

Esto muestra el uso básico con la clase DateTime incorporada y las capacidades mejoradas proporcionadas por NodaTime, especialmente útiles para aplicaciones que requieren el manejo de diferentes zonas horarias o sistemas de calendario.