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.