Cadenas de formato DateTime estándar

Una cadena de formato DateTime estándar consta de un único carácter especificador de formato de la siguiente tabla. Si no se encuentra el especificador de formato en la tabla que aparece a continuación, se inicia una excepción en tiempo de ejecución. Si la cadena de formato es más larga que un único carácter (incluso si los caracteres adicionales son espacios en blanco), la cadena de formato se interpreta como una cadena de formato personalizado.

Hay que tener en cuenta que la Configuración regional del panel de control influye en la cadena de resultado generada por estos especificadores de formato. Los equipos que utilizan diferentes referencias culturales o distintas configuraciones de fecha y hora generarán cadenas de resultado diferentes.

Las cadenas de formato muestran separadores de fecha y hora que se definen con los caracteres DateSeparator y TimeSeparator asociados a la propiedad DateTimeFormat de la referencia cultural. Sin embargo, en los casos en los que los especificadores 'r', 's', y 'u' se refieren a InvariantCulture, los caracteres asociados a los caracteres DateSeparator y TimeSeparator no se modifican en función de la referencia cultural actual.

En la siguiente tabla se describen los especificadores de formato estándar para dar formato al objeto DateTime.

Especificador de formato Nombre Descripción
d Modelo de fecha breve Muestra un modelo definido por la propiedad DateTimeFormatInfo.ShortDatePattern asociada al subproceso actual o por un proveedor de formato especificado.
D Modelo de fecha largo Muestra un modelo definido por la propiedad DateTimeFormatInfo.LongDatePattern asociada al subproceso actual o por un proveedor de formato especificado.
t Modelo de hora breve Muestra un modelo definido por la propiedad DateTimeFormatInfo.ShortTimePattern asociada al subproceso actual o por un proveedor de formato especificado.
T Modelo de hora largo Muestra un modelo definido por la propiedad DateTimeFormatInfo.LongTimePattern asociada al subproceso actual o por un proveedor de formato especificado.
f Modelo de fecha y hora completo (hora breve) Muestra una combinación del modelo de fecha largo y del modelo de hora breve, separados por un espacio.
F Modelo de fecha y hora completo (hora larga) Muestra un modelo definido por la propiedad DateTimeFormatInfo.FullDateTimePattern asociada al subproceso actual o por un proveedor de formato especificado.
g Modelo de fecha y hora general (hora breve) Muestra una combinación de los modelos de fecha y hora breves, separados por un espacio.
G Modelo de fecha y hora general (hora larga) Muestra una combinación del modelo de fecha breve y del modelo de hora largo, separados por un espacio.
M o m Modelo de día del mes Muestra un modelo definido por la propiedad DateTimeFormatInfo.MonthDayPattern asociada al subproceso actual o por un proveedor de formato especificado.
R o r Modelo RFC1123 Muestra un modelo definido por la propiedad DateTimeFormatInfo.RFC1123Pattern asociada al subproceso actual o por un proveedor de formato especificado. Se trata de un estándar definido y la propiedad es de sólo lectura; por lo tanto, el estándar es siempre el mismo sea cual sea la referencia cultural empleada o el proveedor de formato. La propiedad hace referencia a la propiedad CultureInfo.InvariantCulture y sigue el modelo personalizado "ddd, dd MMM yyyy HH:mm:ss G\MT". Hay que tener en cuenta que 'M' en 'GMT' necesita un carácter de escape para que no sea interpretado. La aplicación de formato no modifica el valor de DateTime; por lo tanto, se debe ajustar el valor en GMT antes de aplicar el formato.
s Modelo de fecha y hora que se puede ordenar; cumple la norma ISO 8601 Muestra un modelo definido por la propiedad DateTimeFormatInfo.SortableDateTimePattern asociada al subproceso actual o por un proveedor de formato especificado. La propiedad hace referencia a la propiedad CultureInfo.InvariantCulture y el formato sigue el modelo personalizado 'yyyy-MM-ddTHH:mm:ss'.
u Modelo de fecha y hora universal que se puede ordenar Muestra un modelo definido por la propiedad DateTimeFormatInfo.UniversalSortableDateTimePattern asociada al subproceso actual o por un proveedor de formato especificado. Como se trata de un estándar definido y la propiedad es de sólo lectura; el modelo es siempre el mismo sea cual sea la referencia cultural empleada o el proveedor de formato. El formato sigue el modelo personalizado 'yyyy-MM-dd HH:mm:ssZ'. Cuando la fecha y la hora tienen formato no se realiza ninguna conversión de zona horaria; por lo tanto, convierta la hora y fecha local en hora universal antes de utilizar este especificador de formato.
U Modelo de fecha y hora universal que se puede ordenar Muestra un modelo definido por la propiedad DateTimeFormatInfo.FullDateTimePattern asociada al subproceso actual o por un proveedor de formato especificado. Hay que tener en cuenta que la hora mostrada es la universal y no la local.
Y o y Modelo de mes del año Muestra un modelo definido por la propiedad DateTimeFormatInfo.YearMonthPattern asociada al subproceso actual o por un proveedor de formato especificado.
Cualquier otro carácter único Especificador desconocido    

El siguiente ejemplo ilustra el empleo de las cadenas de formato estándar con objetos DateTime.

Dim dt As DateTime = DateTime.Now
Dim dfi As DateTimeFormatInfo = New DateTimeFormatInfo()
Dim ci As CultureInfo = New CultureInfo("de-DE")

' Make up a new custom DateTime pattern, for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"

' Use the DateTimeFormat from the culture associated 
' with the current thread.

Console.WriteLine( dt.ToString("d") )  
Console.WriteLine( dt.ToString("m") )

' Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) )

' Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) )

' Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-BE")
Console.WriteLine( dt.ToString("d") )
[C#]
DateTime dt = DateTime.Now;
DateTimeFormatInfo dfi = new DateTimeFormatInfo();
CultureInfo ci = new CultureInfo("de-DE");

// Make up a new custom DateTime pattern, for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd";

// Use the DateTimeFormat from the culture associated 
// with the current thread.
Console.WriteLine( dt.ToString("d") );  
Console.WriteLine( dt.ToString("m") );

// Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) );

// Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) );

// Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");
Console.WriteLine( dt.ToString("d") );

Vea también

Información general acerca de formatos | Aplicar formato a tipos | Cadenas de formato de fecha y hora | Ejemplos de resultado de cadenas de formato de fecha y hora estándar