¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

DateTimeFormatInfo (Clase)

Define el modo en que se aplica formato y se muestran los valores DateTime, dependiendo de la referencia cultural.

Espacio de nombres: System.Globalization
Ensamblado: mscorlib (en mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class DateTimeFormatInfo : ICloneable, IFormatProvider
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DateTimeFormatInfo implements ICloneable, IFormatProvider
SerializableAttribute 
ComVisibleAttribute(true) 
public final class DateTimeFormatInfo implements ICloneable, IFormatProvider

Esta clase contiene información, como modelos de fecha, modelos de hora y designadores de AM/PM.

Para crear un objeto DateTimeFormatInfo para una referencia cultural específica, cree un objeto CultureInfo para la referencia cultural y recupere la propiedad CultureInfo.DateTimeFormat. Para crear un objeto DateTimeFormatInfo para la referencia cultural del subproceso actual, utilice la propiedad CurrentInfo. Para crear un objeto DateTimeFormatInfo para una referencia cultural invariable (independiente del idioma), utilice la propiedad InvariantInfo para una versión de sólo lectura o el constructor DateTimeFormatInfo para una versión en la que se pueda escribir. No es posible crear un objeto DateTimeFormatInfo para una referencia cultural neutra.

El usuario puede reemplazar, si lo desea, algunos de los valores asociados a la referencia cultural actual de Windows en Configuración regional y de idioma del Panel de control. Por ejemplo, el usuario puede mostrar la fecha en un formato diferente o utilizar una moneda diferente a la predeterminada para la referencia cultural. Si la propiedad CultureInfo.UseUserOverride se establece en true, las propiedades de la instancia de CultureInfo.DateTimeFormat, la instancia de CultureInfo.NumberFormat y la instancia de CultureInfo.TextInfo también se recuperan desde la configuración del usuario. Si la configuración del usuario no es compatible con la referencia cultural asociada a CultureInfo (por ejemplo, si el calendario seleccionado no es uno de OptionalCalendars), el resultado de los métodos y los valores de las propiedades no se definen.

A los valores de DateTime se les da formato mediante modelos personalizados o estándar almacenados en las propiedades de un DateTimeFormatInfo.

Los modelos estándar se pueden reemplazar con modelos personalizados estableciendo las propiedades asociadas de un DateTimeFormatInfo en la que se pueda escribir. Para determinar si se puede escribir en un DateTimeFormatInfo, se utiliza la propiedad IsReadOnly.

La siguiente tabla enumera los caracteres de formato estándar para cada modelo estándar y la propiedad de DateTimeFormatInfo asociada que se puede establecer para modificar el modelo estándar. Los caracteres de formato distinguen entre mayúsculas y minúsculas; por ejemplo, 'g' y 'G' representan modelos con algunas diferencias.

Carácter de formato

Propiedad asociada/descripción

d

ShortDatePattern

D

LongDatePattern

f

Fecha y hora completas (fecha larga y hora corta)

F

FullDateTimePattern (fecha larga y hora larga)

g

General (fecha corta y hora corta)

G

General (fecha corta y hora larga)

m, M

MonthDayPattern

r, R

RFC1123Pattern

s

SortableDateTimePattern (basada en ISO 8601) utilizando la hora local

t

ShortTimePattern

T

LongTimePattern

u

UniversalSortableDateTimePattern utilizando el formato de presentación de hora universal

U

Fecha y hora completas (fecha larga y hora larga) utilizando la hora universal

y, Y

YearMonthPattern

En la tabla siguiente se enumeran los modelos que se pueden combinar para construir modelos personalizados. Los modelos distinguen entre mayúsculas y minúsculas; por ejemplo, se reconoce "MM", pero "mm" no. Si el modelo personalizado tiene caracteres de espacio en blanco o caracteres entre comillas simples, la cadena de salida también contendrá estos caracteres. Los caracteres que no se han definido como parte de un modelo de formato o como caracteres de formato se reproducen literalmente.

Patrón de formato

Descripción

d, %d

El día del mes. Los días con un solo dígito no se escriben con un cero a la izquierda. Especifique "%d" si el modelo de formato no se combina con otros modelos de formato.

dd

El día del mes. Los días con un solo dígito se escriben con un cero a la izquierda.

ddd

La abreviatura del día de la semana, como se ha definido en AbbreviatedDayNames.

dddd

El nombre completo del día de la semana, como se ha definido en DayNames.

M, %M

El valor numérico del mes. Los meses con un solo dígito no se escriben con un cero a la izquierda. Especifique "%M" si el modelo de formato no se combina con otros modelos de formato.

MM

El valor numérico del mes. Los meses con un solo dígito se escriben con un cero a la izquierda.

MMM

La abreviatura del mes, como se ha definido en AbbreviatedMonthNames.

MMMM

El nombre completo del mes, como se ha definido en MonthNames.

y, %y

El año sin el siglo. Si el año sin el siglo es menor que 10, el año se muestra sin ceros a la izquierda. Especifique "%y" si el modelo de formato no se combina con otros modelos de formato.

yy

El año sin el siglo. Si el año sin el siglo es menor que 10, el año se muestra sin un cero a la izquierda.

yyyy

El año con cuatro dígitos, incluido el siglo.

gg

El período o la era. Este modelo se pasa por alto si la fecha a la que se va a aplicar formato no tiene asociada una cadena de período o de era.

h, %h

La hora en un reloj de 12 horas. Las horas con un solo dígito no se escriben con un cero a la izquierda. Especifique "%h" si el modelo de formato no se combina con otros modelos de formato.

hh

La hora en un reloj de 12 horas. Las horas con un solo dígito se escriben con un cero a la izquierda.

H, %H

La hora en un reloj de 24 horas. Las horas con un solo dígito no se escriben con un cero a la izquierda. Especifique "%H" si el modelo de formato no se combina con otros modelos de formato.

HH

La hora en un reloj de 24 horas. Las horas con un solo dígito se escriben con un cero a la izquierda.

m, %m

Minutos. Los minutos con un solo dígito no se escriben con un cero a la izquierda. Especifique "%m" si el modelo de formato no se combina con otros modelos de formato.

mm

Minutos. Los minutos con un solo dígito se escriben con un cero a la izquierda.

s, %s

Segundos. Los segundos con un solo dígito no se escriben con un cero a la izquierda. Especifique "%s" si el modelo de formato no se combina con otros modelos de formato.

ss

Segundos. Los segundos con un solo dígito se escriben con un cero a la izquierda.

f, %f

La fracción de un segundo con la precisión de un solo dígito. El resto de los dígitos se truncan. Especifique "%f" si el modelo de formato no se combina con otros modelos de formato.

ff

La fracción de un segundo con la precisión de dos dígitos. El resto de los dígitos se truncan.

fff

La fracción de un segundo con la precisión de tres dígitos. El resto de los dígitos se truncan.

ffff

La fracción de un segundo con la precisión de cuatro dígitos. El resto de los dígitos se truncan.

fffff

La fracción de un segundo con la precisión de cinco dígitos. El resto de los dígitos se truncan.

ffffff

La fracción de un segundo con la precisión de seis dígitos. El resto de los dígitos se truncan.

fffffff

La fracción de un segundo con la precisión de siete dígitos. El resto de los dígitos se truncan.

F, %F

Muestra el dígito más significativo de la fracción de segundos. Si el dígito es cero, no se muestra nada. Especifique "%F" si el modelo de formato no se combina con otros modelos de formato.

FF

Muestra los dos dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o dos dígitos cero.

FFF

Muestra los tres dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o tres dígitos cero.

FFFF

Muestra los cuatro dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o cuatro dígitos cero.

FFFFF

Muestra los cinco dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o cinco dígitos cero.

FFFFFF

Muestra los seis dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o seis dígitos cero.

FFFFFFF

Muestra los siete dígitos más significativos de la fracción de segundos. Sin embargo, no se muestran ceros finales o siete dígitos cero.

t, %t

El primer carácter del designador AM/PM que se ha definido en AMDesignator o PMDesignator, si lo hubiera. Especifique "%t" si el modelo de formato no se combina con otros modelos de formato.

tt

El designador AM/PM que se ha definido en AMDesignator o PMDesignator, si lo hubiera.

z, %z

El desplazamiento de la zona horaria ("+" o "-" seguido sólo de la hora). Las horas con un solo dígito no se escriben con un cero a la izquierda. Por ejemplo, la Hora estándar del Pacífico es "-8". Especifique "%z" si el modelo de formato no se combina con otros modelos de formato.

zz

El desplazamiento de la zona horaria ("+" o "-" seguido sólo de la hora). Las horas con un solo dígito se escriben con un cero a la izquierda. Por ejemplo, la Hora estándar del Pacífico es "-08".

zzz

El desplazamiento de la zona horaria ("+" o "-" seguido de la hora y los minutos). Las horas y los minutos con un solo dígito se escriben con ceros a la izquierda. Por ejemplo, la Hora estándar del Pacífico es "-08:00".

:

El separador de hora predeterminado que se ha definido en TimeSeparator.

/

El separador de fecha predeterminado que se ha definido en DateSeparator.

% c

Donde c es un modelo de formato si se utiliza por si solo. Es decir, para utilizar el modelo de formato "d", "f", "F", "h", "m", "s", "t", "y", "z", "H" o "M" por sí solo, especifique "%d", "%f", "%F", "%h", "%m", "%s", "%t", "%y", "%z", "%H" o "%M".

El carácter "%" puede omitirse si el modelo de formato se combina con caracteres literales u otros modelos de formato.

\ c

Donde c es cualquier carácter. Muestra el carácter literalmente. Para mostrar el carácter de barra invertida, utilice "\\".

Para crear modelos personalizados sólo se pueden utilizar los modelos de formato presentados en la segunda tabla anterior; los caracteres de formato estándar que se enumeran en la primera tabla no se pueden utilizar para crear modelos personalizados. Los modelos personalizados tienen al menos dos caracteres de longitud; por ejemplo,

  • DateTime.ToString( "d" ) devuelve el valor de DateTime; "d" es el modelo de fecha corta estándar.

  • DateTime.ToString( "%d" ) devuelve el día del mes; "%d" es un modelo personalizado.

  • DateTime.ToString( "d" ) devuelve el día del mes seguido de un carácter de espacio en blanco; "d" es un modelo personalizado.

DateTimeFormatInfo o NumberFormatInfo sólo se pueden crear para la referencia cultural invariable o para referencias culturales específicas, pero no para referencias culturales neutras. Para obtener más información acerca de la referencia cultural invariable y referencias culturales neutras, vea la clase CultureInfo.

Esta clase implementa la interfaz ICloneable para habilitar la duplicación de objetos DateTimeFormatInfo. También implementa IFormatProvider para proporcionar información de formato a aplicaciones.

En el siguiente ejemplo de código se imprimen los diferentes modelos de formato para la referencia cultural en-US utilizando los caracteres de formato. También se muestra el valor de las propiedades asociadas al carácter de formato.

using System;
using System.Globalization;


public class SamplesDTFI  {

   public static void Main()  {

      // Creates and initializes a DateTimeFormatInfo associated with the en-US culture.
      DateTimeFormatInfo myDTFI = new CultureInfo( "en-US", false ).DateTimeFormat;

      // Creates a DateTime with the Gregorian date January 3, 2002 (year=2002, month=1, day=3).
      // The Gregorian calendar is the default calendar for the en-US culture.
      DateTime myDT = new DateTime( 2002, 1, 3 );

      // Displays the format pattern associated with each format character.
      Console.WriteLine( "FORMAT  en-US EXAMPLE" );
      Console.WriteLine( "CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY\n" );
      Console.WriteLine( "  d     {0}", myDT.ToString("d") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.ShortDatePattern, "(ShortDatePattern)" );
      Console.WriteLine( "  D     {0}", myDT.ToString("D") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.LongDatePattern, "(LongDatePattern)" );
      Console.WriteLine( "  f     {0}\n", myDT.ToString("f") );
      Console.WriteLine( "  F     {0}", myDT.ToString("F") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.FullDateTimePattern, "(FullDateTimePattern)" );
      Console.WriteLine( "  g     {0}\n", myDT.ToString("g") );
      Console.WriteLine( "  G     {0}\n", myDT.ToString("G") );
      Console.WriteLine( "  m     {0}", myDT.ToString("m") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
      Console.WriteLine( "  M     {0}", myDT.ToString("M") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
      Console.WriteLine( "  r     {0}", myDT.ToString("r") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
      Console.WriteLine( "  R     {0}", myDT.ToString("R") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
      Console.WriteLine( "  s     {0}", myDT.ToString("s") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.SortableDateTimePattern, "(SortableDateTimePattern)" );
      Console.WriteLine( "  t     {0}", myDT.ToString("t") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.ShortTimePattern, "(ShortTimePattern)" );
      Console.WriteLine( "  T     {0}", myDT.ToString("T") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.LongTimePattern, "(LongTimePattern)" );
      Console.WriteLine( "  u     {0}", myDT.ToString("u") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.UniversalSortableDateTimePattern, "(UniversalSortableDateTimePattern)" );
      Console.WriteLine( "  U     {0}\n", myDT.ToString("U") );
      Console.WriteLine( "  y     {0}", myDT.ToString("y") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );
      Console.WriteLine( "  Y     {0}", myDT.ToString("Y") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );

   }

}

/*
This code produces the following output.

FORMAT  en-US EXAMPLE
CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY

  d     1/3/2002
        M/d/yyyy (ShortDatePattern)

  D     Thursday, January 03, 2002
        dddd, MMMM dd, yyyy (LongDatePattern)

  f     Thursday, January 03, 2002 12:00 AM

  F     Thursday, January 03, 2002 12:00:00 AM
        dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

  g     1/3/2002 12:00 AM

  G     1/3/2002 12:00:00 AM

  m     January 03
        MMMM dd (MonthDayPattern)

  M     January 03
        MMMM dd (MonthDayPattern)

  r     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  R     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  s     2002-01-03T00:00:00
        yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

  t     12:00 AM
        h:mm tt (ShortTimePattern)

  T     12:00:00 AM
        h:mm:ss tt (LongTimePattern)

  u     2002-01-03 00:00:00Z
        yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

  U     Thursday, January 03, 2002 8:00:00 AM

  y     January, 2002
        MMMM, yyyy (YearMonthPattern)

  Y     January, 2002
        MMMM, yyyy (YearMonthPattern)

*/

import System.* ;
import System.Globalization.* ;

public class SamplesDTFI
{
    public static void main(String[] args)
    {
        // Creates and initializes a DateTimeFormatInfo associated with 
        // the en-US culture.
        DateTimeFormatInfo myDTFI = 
            (new CultureInfo("en-US", false)).get_DateTimeFormat();

        // Creates a DateTime with the Gregorian date January 3, 2002 
        // (year=2002, month=1, day=3).
        // The Gregorian calendar is the default calendar for the 
        // en-US culture.
        DateTime myDT =  new DateTime(2002, 1, 3);

        // Displays the format pattern associated with each format character.
        Console.WriteLine("FORMAT  en-US EXAMPLE");
        Console.WriteLine("CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY\n");
        Console.WriteLine("  d     {0}", myDT.ToString("d"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_ShortDatePattern(),
            "(ShortDatePattern)");
        Console.WriteLine("  D     {0}", myDT.ToString("D"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_LongDatePattern(), 
            "(LongDatePattern)");
        Console.WriteLine("  f     {0}\n", myDT.ToString("f"));
        Console.WriteLine("  F     {0}", myDT.ToString("F"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_FullDateTimePattern(),
            "(FullDateTimePattern)");
        Console.WriteLine("  g     {0}\n", myDT.ToString("g"));
        Console.WriteLine("  G     {0}\n", myDT.ToString("G"));
        Console.WriteLine("  m     {0}", myDT.ToString("m"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_MonthDayPattern(), 
            "(MonthDayPattern)");
        Console.WriteLine("  M     {0}", myDT.ToString("M"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_MonthDayPattern(), 
            "(MonthDayPattern)");
        Console.WriteLine("  r     {0}", myDT.ToString("r"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_RFC1123Pattern(),
            "(RFC1123Pattern)");
        Console.WriteLine("  R     {0}", myDT.ToString("R"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_RFC1123Pattern(), 
            "(RFC1123Pattern)");
        Console.WriteLine("  s     {0}", myDT.ToString("s"));
        Console.WriteLine("        {0} {1}\n", 
            myDTFI.get_SortableDateTimePattern(), "(SortableDateTimePattern)");
        Console.WriteLine("  t     {0}", myDT.ToString("t"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_ShortTimePattern(),
            "(ShortTimePattern)");
        Console.WriteLine("  T     {0}", myDT.ToString("T"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_LongTimePattern(), 
            "(LongTimePattern)");
        Console.WriteLine("  u     {0}", myDT.ToString("u"));
        Console.WriteLine("        {0} {1}\n", 
            myDTFI.get_UniversalSortableDateTimePattern(), 
            "(UniversalSortableDateTimePattern)");
        Console.WriteLine("  U     {0}\n", myDT.ToString("U"));
        Console.WriteLine("  y     {0}", myDT.ToString("y"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_YearMonthPattern(),
            "(YearMonthPattern)");
        Console.WriteLine("  Y     {0}", myDT.ToString("Y"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_YearMonthPattern(),
            "(YearMonthPattern)");
    } //main 
} //SamplesDTFI

/*
This code produces the following output.

FORMAT  en-US EXAMPLE
CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY

  d     1/3/2002
        M/d/yyyy (ShortDatePattern)

  D     Thursday, January 03, 2002
        dddd, MMMM dd, yyyy (LongDatePattern)

  f     Thursday, January 03, 2002 12:00 AM

  F     Thursday, January 03, 2002 12:00:00 AM
        dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

  g     1/3/2002 12:00 AM

  G     1/3/2002 12:00:00 AM

  m     January 03
        MMMM dd (MonthDayPattern)

  M     January 03
        MMMM dd (MonthDayPattern)

  r     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  R     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  s     2002-01-03T00:00:00
        yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

  t     12:00 AM
        h:mm tt (ShortTimePattern)

  T     12:00:00 AM
        h:mm:ss tt (LongTimePattern)

  u     2002-01-03 00:00:00Z
        yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

  U     Thursday, January 03, 2002 8:00:00 AM

  y     January, 2002
        MMMM, yyyy (YearMonthPattern)

  Y     January, 2002
        MMMM, yyyy (YearMonthPattern)
*/

System.Object
  System.Globalization.DateTimeFormatInfo

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft