0Pricing
C# Academy · Lección

Formatear fechas

Formatos personalizados y estándar

Formatear fechas es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.

Por qué dar formato a las fechas

Un DateTime sin formato se muestra utilizando la cultura predeterminada de su equipo, que puede no ser la que desea.

Dar formato le permite controlar exactamente cómo aparece una fecha: 2024-03-05, 05/03/2024 o Tuesday, March 5. C# ofrece cadenas de formato estándar y personalizadas.

ToString con un patrón

La herramienta más flexible es ToString con una cadena de formato personalizada. Cada letra representa una parte de la fecha.

Por ejemplo, "yyyy-MM-dd" produce un formato de año, mes y día que se ordena correctamente y es fácil de leer.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("yyyy-MM-dd"));
    }
}

Letras para año, mes y día

Las letras de formato distinguen entre mayúsculas y minúsculas. yyyy representa un año de cuatro dígitos, MM un mes de dos dígitos y dd un día de dos dígitos.

Utilice M mayúscula para el mes; m minúscula significa minutos. Confundirlas es un error común entre principiantes.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("dd/MM/yyyy"));
    }
}

Horas, minutos y segundos

Para la parte de la hora, HH representa un reloj de 24 horas, mm los minutos y ss los segundos.

hh en minúsculas utiliza el reloj de 12 horas y se combina con tt para indicar AM o PM.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("HH:mm:ss"));
    }
}

Reloj de 12 horas con AM/PM

Para mostrar una hora de 12 horas fácil de leer, combine hh:mm con tt. El especificador tt imprime AM o PM.

Por tanto, 14:30 se convierte en 02:30 PM, un formato que muchos lectores consideran más fácil de entender que un valor de 24 horas.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("hh:mm tt"));
    }
}

Nombres de meses y días

Puede escribir los nombres completos en lugar de utilizar números. MMMM proporciona el nombre completo del mes y MMM proporciona una versión abreviada.

Para los días de la semana, dddd representa el nombre completo y ddd la abreviatura.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("dddd, MMMM dd"));
    }
}

Especificadores de formato estándar

Además de los patrones personalizados, C# ofrece códigos estándar breves. "d" representa una fecha corta, "D" una fecha larga, "t" una hora corta y "T" una hora larga.

Estos códigos siguen la cultura actual, por lo que el aspecto exacto puede variar según la región.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("D"));
    }
}

Ayudas breves y completas

También hay métodos prácticos. ToShortDateString y ToShortTimeString generan una salida breve, mientras que ToLongDateString muestra todos los detalles.

Son rápidos, pero para tener un control total es preferible usar una cadena de formato explícita.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToShortDateString());
    }
}

Formato en interpolaciones

Dentro de una cadena interpolada puede colocar un formato después de dos puntos. Escribir {d:yyyy-MM-dd} da formato al valor justo donde aparece.

Esto mantiene el código corto y fácil de leer al construir mensajes.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine($"Date: {d:yyyy-MM-dd}");
    }
}

Salida independiente de la cultura

Para los datos que almacena o envía entre sistemas, aplique formato con CultureInfo.InvariantCulture para que el resultado nunca dependa de la configuración regional del usuario.

Así evita sorpresas en las que el mismo código muestra resultados diferentes en otra máquina.

using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
    }
}

El formato round-trip

El formato estándar "o" (round-trip) genera una cadena ISO 8601 que conserva todos los detalles, incluidas las fracciones de segundo.

Es la opción más segura cuando después debe analizarse una fecha sin perder precisión.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("o"));
    }
}

Comprobación rápida

Quiere incluir el mes con dos dígitos en una cadena de formato personalizada. ¿Qué especificador es correcto?

Resumen

Puede dar formato a las fechas con ToString y patrones personalizados como yyyy, MM, dd, HH y mm.

Los códigos estándar, como "d" y "D", siguen la cultura, mientras que InvariantCulture y el formato round-trip "o" mantienen una salida estable entre sistemas.

Preguntas frecuentes

¿La lección «Formatear fechas» es gratis?

Sí — el texto completo de «Formatear fechas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Formatear fechas»?

Formatos personalizados y estándar Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Formatear fechas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Crear DateTimes
  2. Formatear fechas
  3. TimeSpan y duraciones
  4. Aritmética de fechas
← Volver a C# Academy