Compartir a través de


DateTimeFormatInfo.GetAllDateTimePatterns Método

Definición

Devuelve los modelos estándar en los que se puede aplicar formato a los valores de fecha y hora.

Sobrecargas

GetAllDateTimePatterns()

Devuelve todos los modelos estándar en los que se puede aplicar formato a los valores de fecha y hora.

GetAllDateTimePatterns(Char)

Devuelve todos los modelos en los que se puede aplicar formato a valores de fecha y hora mediante la cadena de formato estándar especificado.

GetAllDateTimePatterns()

Source:
DateTimeFormatInfo.cs
Source:
DateTimeFormatInfo.cs
Source:
DateTimeFormatInfo.cs

Devuelve todos los modelos estándar en los que se puede aplicar formato a los valores de fecha y hora.

public:
 cli::array <System::String ^> ^ GetAllDateTimePatterns();
public string[] GetAllDateTimePatterns ();
member this.GetAllDateTimePatterns : unit -> string[]
Public Function GetAllDateTimePatterns () As String()

Devoluciones

String[]

Matriz que contiene los modelos estándar en los que se puede aplicar formato a los valores de fecha y hora.

Ejemplos

En el ejemplo siguiente se muestran las cadenas de formato de fecha y hora para la referencia cultural invariable, así como la cadena de resultado que se genera cuando esa cadena de formato se usa para dar formato a una fecha determinada.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2014, 8, 28, 12, 28, 30);
      DateTimeFormatInfo invDTF = new DateTimeFormatInfo();
      String[] formats = invDTF.GetAllDateTimePatterns();

      Console.WriteLine("{0,-40} {1}\n", "Pattern", "Result String");
      foreach (var fmt in formats)
         Console.WriteLine("{0,-40} {1}", fmt, date.ToString(fmt));
   }
}
// The example displays the following output:
//    Pattern                                  Result String
//
//    MM/dd/yyyy                               08/28/2014
//    yyyy-MM-dd                               2014-08-28
//    dddd, dd MMMM yyyy                       Thursday, 28 August 2014
//    dddd, dd MMMM yyyy HH:mm                 Thursday, 28 August 2014 12:28
//    dddd, dd MMMM yyyy hh:mm tt              Thursday, 28 August 2014 12:28 PM
//    dddd, dd MMMM yyyy H:mm                  Thursday, 28 August 2014 12:28
//    dddd, dd MMMM yyyy h:mm tt               Thursday, 28 August 2014 12:28 PM
//    dddd, dd MMMM yyyy HH:mm:ss              Thursday, 28 August 2014 12:28:30
//    MM/dd/yyyy HH:mm                         08/28/2014 12:28
//    MM/dd/yyyy hh:mm tt                      08/28/2014 12:28 PM
//    MM/dd/yyyy H:mm                          08/28/2014 12:28
//    MM/dd/yyyy h:mm tt                       08/28/2014 12:28 PM
//    yyyy-MM-dd HH:mm                         2014-08-28 12:28
//    yyyy-MM-dd hh:mm tt                      2014-08-28 12:28 PM
//    yyyy-MM-dd H:mm                          2014-08-28 12:28
//    yyyy-MM-dd h:mm tt                       2014-08-28 12:28 PM
//    MM/dd/yyyy HH:mm:ss                      08/28/2014 12:28:30
//    yyyy-MM-dd HH:mm:ss                      2014-08-28 12:28:30
//    MMMM dd                                  August 28
//    MMMM dd                                  August 28
//    yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK   2014-08-28T12:28:30.0000000
//    yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK   2014-08-28T12:28:30.0000000
//    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'      Thu, 28 Aug 2014 12:28:30 GMT
//    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'      Thu, 28 Aug 2014 12:28:30 GMT
//    yyyy'-'MM'-'dd'T'HH':'mm':'ss            2014-08-28T12:28:30
//    HH:mm                                    12:28
//    hh:mm tt                                 12:28 PM
//    H:mm                                     12:28
//    h:mm tt                                  12:28 PM
//    HH:mm:ss                                 12:28:30
//    yyyy'-'MM'-'dd HH':'mm':'ss'Z'           2014-08-28 12:28:30Z
//    dddd, dd MMMM yyyy HH:mm:ss              Thursday, 28 August 2014 12:28:30
//    yyyy MMMM                                2014 August
//    yyyy MMMM                                2014 August
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim date1 As Date = #08/28/2014 12:28:30PM#
      Dim invDTF As New DateTimeFormatInfo()
      Dim formats() As String = invDTF.GetAllDateTimePatterns()

      Console.WriteLine("{0,-40} {1}", "Pattern", "Result String")
      Console.WriteLine()
      For Each fmt In formats
         Console.WriteLine("{0,-40} {1}", fmt, date1.ToString(fmt))
      Next
   End Sub
End Module
' The example displays the following output:
'    Pattern                                  Result String
'
'    MM/dd/yyyy                               08/28/2014
'    yyyy-MM-dd                               2014-08-28
'    dddd, dd MMMM yyyy                       Thursday, 28 August 2014
'    dddd, dd MMMM yyyy HH:mm                 Thursday, 28 August 2014 12:28
'    dddd, dd MMMM yyyy hh:mm tt              Thursday, 28 August 2014 12:28 PM
'    dddd, dd MMMM yyyy H:mm                  Thursday, 28 August 2014 12:28
'    dddd, dd MMMM yyyy h:mm tt               Thursday, 28 August 2014 12:28 PM
'    dddd, dd MMMM yyyy HH:mm:ss              Thursday, 28 August 2014 12:28:30
'    MM/dd/yyyy HH:mm                         08/28/2014 12:28
'    MM/dd/yyyy hh:mm tt                      08/28/2014 12:28 PM
'    MM/dd/yyyy H:mm                          08/28/2014 12:28
'    MM/dd/yyyy h:mm tt                       08/28/2014 12:28 PM
'    yyyy-MM-dd HH:mm                         2014-08-28 12:28
'    yyyy-MM-dd hh:mm tt                      2014-08-28 12:28 PM
'    yyyy-MM-dd H:mm                          2014-08-28 12:28
'    yyyy-MM-dd h:mm tt                       2014-08-28 12:28 PM
'    MM/dd/yyyy HH:mm:ss                      08/28/2014 12:28:30
'    yyyy-MM-dd HH:mm:ss                      2014-08-28 12:28:30
'    MMMM dd                                  August 28
'    MMMM dd                                  August 28
'    yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK   2014-08-28T12:28:30.0000000
'    yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK   2014-08-28T12:28:30.0000000
'    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'      Thu, 28 Aug 2014 12:28:30 GMT
'    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'      Thu, 28 Aug 2014 12:28:30 GMT
'    yyyy'-'MM'-'dd'T'HH':'mm':'ss            2014-08-28T12:28:30
'    HH:mm                                    12:28
'    hh:mm tt                                 12:28 PM
'    H:mm                                     12:28
'    h:mm tt                                  12:28 PM
'    HH:mm:ss                                 12:28:30
'    yyyy'-'MM'-'dd HH':'mm':'ss'Z'           2014-08-28 12:28:30Z
'    dddd, dd MMMM yyyy HH:mm:ss              Thursday, 28 August 2014 12:28:30
'    yyyy MMMM                                2014 August
'    yyyy MMMM                                2014 August

En el ejemplo se crea una instancia de un DateTimeFormatInfo objeto que representa la referencia cultural invariable mediante una llamada al DateTimeFormatInfo constructor . También podría recuperar un DateTimeFormatInfo objeto que representa la referencia cultural invariable de la InvariantInfo propiedad .

Comentarios

Este método devuelve una matriz que contiene todas las cadenas de formato personalizado que corresponden a cadenas de formato estándar. Consulte Cadenas de formato de fecha y hora estándar para obtener una lista de las cadenas de formato estándar.

Puede usar las cadenas de formato personalizado en la matriz devuelta por el GetAllDateTimePatterns método en las operaciones de formato. Sin embargo, si lo hace, la representación de cadena de un valor de fecha y hora devuelto en esa operación de formato no siempre se puede analizar correctamente por los Parse métodos y TryParse . Por lo tanto, no se puede suponer que las cadenas de formato personalizadas devueltas por el GetAllDateTimePatterns método se pueden usar para los valores de fecha y hora de ida y vuelta. El siguiente ejemplo ilustra este problema. Recupera un DateTimeFormatInfo objeto que contiene información de formato para la referencia cultural italia (italiana). Pasa cada cadena de formato personalizado de la matriz devuelta por el GetAllDateTimePatterns()DateTime.ToString(String) método al método para crear la representación de cadena de una fecha y hora. A continuación, en este ejemplo se intenta analizar este valor mediante una llamada al DateTime.TryParse(String, DateTime) método . Como se muestra en la salida del ejemplo, algunas de las cadenas de formato personalizado no generan un valor de fecha y hora que redondea correctamente los recorridos de ida y vuelta.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CreateSpecificCulture("it-IT");
      DateTime date1 = new DateTime(2011, 02, 01, 7, 30, 45, 0);
      DateTime date2;
      int total = 0;
      int noRoundTrip = 0;

      foreach (var fmt in culture.DateTimeFormat.GetAllDateTimePatterns()) {
         total += 1;
         if (! DateTime.TryParse(date1.ToString(fmt), out date2)) {
            noRoundTrip++;
            Console.WriteLine("Unable to parse {0:" + fmt + "} (format '{1}')",
                              date1, fmt);
         }
      }
      Console.WriteLine("\nUnable to round-trip {0} of {1} format strings.",
                        noRoundTrip, total);
   }
}
// The example displays the following output:
//    Unable to parse Tuesday 1 February 2011 7.30 (format 'dddd d MMMM yyyy H.mm')
//    Unable to parse Tuesday 1 February 2011 07.30 (format 'dddd d MMMM yyyy HH.mm')
//    Unable to parse 1-Feb-11 7.30 (format 'd-MMM-yy H.mm')
//    Unable to parse 1-Feb-11 07.30 (format 'd-MMM-yy HH.mm')
//    Unable to parse 1 February 2011 7.30 (format 'd MMMM yyyy H.mm')
//    Unable to parse 1 February 2011 07.30 (format 'd MMMM yyyy HH.mm')
//    Unable to parse Tuesday 1 February 2011 7.30.45 (format 'dddd d MMMM yyyy H.mm.ss')
//    Unable to parse Tuesday 1 February 2011 07.30.45 (format 'dddd d MMMM yyyy HH.mm.ss')
//    Unable to parse 1-Feb-11 7.30.45 (format 'd-MMM-yy H.mm.ss')
//    Unable to parse 1-Feb-11 07.30.45 (format 'd-MMM-yy HH.mm.ss')
//    Unable to parse 1 February 2011 7.30.45 (format 'd MMMM yyyy H.mm.ss')
//    Unable to parse 1 February 2011 07.30.45 (format 'd MMMM yyyy HH.mm.ss')
//    Unable to parse 01/02/2011 7.30 (format 'dd/MM/yyyy H.mm')
//    Unable to parse 01/02/2011 07.30 (format 'dd/MM/yyyy HH.mm')
//    Unable to parse 01/Feb/2011 7.30 (format 'dd/MMM/yyyy H.mm')
//    Unable to parse 01/Feb/2011 07.30 (format 'dd/MMM/yyyy HH.mm')
//    Unable to parse 01/02/11 7.30 (format 'dd/MM/yy H.mm')
//    Unable to parse 01/02/11 07.30 (format 'dd/MM/yy HH.mm')
//    Unable to parse 01.2.11 7.30 (format 'dd.M.yy H.mm')
//    Unable to parse 01.2.11 07.30 (format 'dd.M.yy HH.mm')
//    Unable to parse 1/2/11 7.30 (format 'd/M/yy H.mm')
//    Unable to parse 1/2/11 07.30 (format 'd/M/yy HH.mm')
//    Unable to parse 2011-02-01 7.30 (format 'yyyy-MM-dd H.mm')
//    Unable to parse 2011-02-01 07.30 (format 'yyyy-MM-dd HH.mm')
//    Unable to parse 01/02/2011 7.30.45 (format 'dd/MM/yyyy H.mm.ss')
//    Unable to parse 01/02/2011 07.30.45 (format 'dd/MM/yyyy HH.mm.ss')
//    Unable to parse 01/Feb/2011 7.30.45 (format 'dd/MMM/yyyy H.mm.ss')
//    Unable to parse 01/Feb/2011 07.30.45 (format 'dd/MMM/yyyy HH.mm.ss')
//    Unable to parse 01/02/11 7.30.45 (format 'dd/MM/yy H.mm.ss')
//    Unable to parse 01/02/11 07.30.45 (format 'dd/MM/yy HH.mm.ss')
//    Unable to parse 01.2.11 7.30.45 (format 'dd.M.yy H.mm.ss')
//    Unable to parse 01.2.11 07.30.45 (format 'dd.M.yy HH.mm.ss')
//    Unable to parse 1/2/11 7.30.45 (format 'd/M/yy H.mm.ss')
//    Unable to parse 1/2/11 07.30.45 (format 'd/M/yy HH.mm.ss')
//    Unable to parse 2011-02-01 7.30.45 (format 'yyyy-MM-dd H.mm.ss')
//    Unable to parse 2011-02-01 07.30.45 (format 'yyyy-MM-dd HH.mm.ss')
//    Unable to parse Tuesday 1 February 2011 7.30.45 (format 'dddd d MMMM yyyy H.mm.ss')
//    Unable to parse Tuesday 1 February 2011 07.30.45 (format 'dddd d MMMM yyyy HH.mm.ss')
//    Unable to parse 1-Feb-11 7.30.45 (format 'd-MMM-yy H.mm.ss')
//    Unable to parse 1-Feb-11 07.30.45 (format 'd-MMM-yy HH.mm.ss')
//    Unable to parse 1 February 2011 7.30.45 (format 'd MMMM yyyy H.mm.ss')
//    Unable to parse 1 February 2011 07.30.45 (format 'd MMMM yyyy HH.mm.ss')
//
//    Unable to round-trip 42 of 98 format strings.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture("it-IT")
      Dim date1 = New DateTime(2011, 02, 01, 7, 30, 45, 0)
      Dim date2 As DateTime
      Dim total, noRoundTrip As Integer
      
      For Each fmt In culture.DateTimeFormat.GetAllDateTimePatterns()
         total += 1
         If Not DateTime.TryParse(date1.ToString(fmt), date2)
            noRoundTrip += 1
            Console.WriteLine("Unable to parse {0:" + fmt + "} (format '{1}')", 
                              date1, fmt)
         End If             
      Next
      Console.WriteLine()
      Console.WriteLine("Unable to round-trip {0} of {1} format strings.",
                        noRoundTrip, total)
   End Sub
End Module
' The example displays the following output:
'    Unable to parse Tuesday 1 February 2011 7.30 (format 'dddd d MMMM yyyy H.mm')
'    Unable to parse Tuesday 1 February 2011 07.30 (format 'dddd d MMMM yyyy HH.mm')
'    Unable to parse 1-Feb-11 7.30 (format 'd-MMM-yy H.mm')
'    Unable to parse 1-Feb-11 07.30 (format 'd-MMM-yy HH.mm')
'    Unable to parse 1 February 2011 7.30 (format 'd MMMM yyyy H.mm')
'    Unable to parse 1 February 2011 07.30 (format 'd MMMM yyyy HH.mm')
'    Unable to parse Tuesday 1 February 2011 7.30.45 (format 'dddd d MMMM yyyy H.mm.ss')
'    Unable to parse Tuesday 1 February 2011 07.30.45 (format 'dddd d MMMM yyyy HH.mm.ss')
'    Unable to parse 1-Feb-11 7.30.45 (format 'd-MMM-yy H.mm.ss')
'    Unable to parse 1-Feb-11 07.30.45 (format 'd-MMM-yy HH.mm.ss')
'    Unable to parse 1 February 2011 7.30.45 (format 'd MMMM yyyy H.mm.ss')
'    Unable to parse 1 February 2011 07.30.45 (format 'd MMMM yyyy HH.mm.ss')
'    Unable to parse 01/02/2011 7.30 (format 'dd/MM/yyyy H.mm')
'    Unable to parse 01/02/2011 07.30 (format 'dd/MM/yyyy HH.mm')
'    Unable to parse 01/Feb/2011 7.30 (format 'dd/MMM/yyyy H.mm')
'    Unable to parse 01/Feb/2011 07.30 (format 'dd/MMM/yyyy HH.mm')
'    Unable to parse 01/02/11 7.30 (format 'dd/MM/yy H.mm')
'    Unable to parse 01/02/11 07.30 (format 'dd/MM/yy HH.mm')
'    Unable to parse 01.2.11 7.30 (format 'dd.M.yy H.mm')
'    Unable to parse 01.2.11 07.30 (format 'dd.M.yy HH.mm')
'    Unable to parse 1/2/11 7.30 (format 'd/M/yy H.mm')
'    Unable to parse 1/2/11 07.30 (format 'd/M/yy HH.mm')
'    Unable to parse 2011-02-01 7.30 (format 'yyyy-MM-dd H.mm')
'    Unable to parse 2011-02-01 07.30 (format 'yyyy-MM-dd HH.mm')
'    Unable to parse 01/02/2011 7.30.45 (format 'dd/MM/yyyy H.mm.ss')
'    Unable to parse 01/02/2011 07.30.45 (format 'dd/MM/yyyy HH.mm.ss')
'    Unable to parse 01/Feb/2011 7.30.45 (format 'dd/MMM/yyyy H.mm.ss')
'    Unable to parse 01/Feb/2011 07.30.45 (format 'dd/MMM/yyyy HH.mm.ss')
'    Unable to parse 01/02/11 7.30.45 (format 'dd/MM/yy H.mm.ss')
'    Unable to parse 01/02/11 07.30.45 (format 'dd/MM/yy HH.mm.ss')
'    Unable to parse 01.2.11 7.30.45 (format 'dd.M.yy H.mm.ss')
'    Unable to parse 01.2.11 07.30.45 (format 'dd.M.yy HH.mm.ss')
'    Unable to parse 1/2/11 7.30.45 (format 'd/M/yy H.mm.ss')
'    Unable to parse 1/2/11 07.30.45 (format 'd/M/yy HH.mm.ss')
'    Unable to parse 2011-02-01 7.30.45 (format 'yyyy-MM-dd H.mm.ss')
'    Unable to parse 2011-02-01 07.30.45 (format 'yyyy-MM-dd HH.mm.ss')
'    Unable to parse Tuesday 1 February 2011 7.30.45 (format 'dddd d MMMM yyyy H.mm.ss')
'    Unable to parse Tuesday 1 February 2011 07.30.45 (format 'dddd d MMMM yyyy HH.mm.ss')
'    Unable to parse 1-Feb-11 7.30.45 (format 'd-MMM-yy H.mm.ss')
'    Unable to parse 1-Feb-11 07.30.45 (format 'd-MMM-yy HH.mm.ss')
'    Unable to parse 1 February 2011 7.30.45 (format 'd MMMM yyyy H.mm.ss')
'    Unable to parse 1 February 2011 07.30.45 (format 'd MMMM yyyy HH.mm.ss')
'    
'    Unable to round-trip 42 of 98 format strings.

Para analizar la representación de cadena de una fecha y hora que se puede expresar en varios formatos personalizados predefinidos, llame a uno de los métodos siguientes:

Las cadenas de formato personalizado de la matriz devueltas por el GetAllDateTimePatterns método dependen del calendario actual de la referencia cultural para la que el DateTimeFormatInfo objeto proporciona información de formato. Si el calendario cambia, la matriz devuelta por este método también cambia.

Consulte también

Se aplica a

GetAllDateTimePatterns(Char)

Source:
DateTimeFormatInfo.cs
Source:
DateTimeFormatInfo.cs
Source:
DateTimeFormatInfo.cs

Devuelve todos los modelos en los que se puede aplicar formato a valores de fecha y hora mediante la cadena de formato estándar especificado.

public:
 cli::array <System::String ^> ^ GetAllDateTimePatterns(char format);
public string[] GetAllDateTimePatterns (char format);
member this.GetAllDateTimePatterns : char -> string[]
Public Function GetAllDateTimePatterns (format As Char) As String()

Parámetros

format
Char

Cadena con formato estándar.

Devoluciones

String[]

Matriz que contiene los modelos estándar en los que se puede aplicar formato a los valores de fecha y hora mediante la cadena de formato especificada.

Excepciones

format no es una cadena de formato estándar válido.

Ejemplos

En el ejemplo siguiente se muestran los patrones de fecha y hora para el calendario actual.

#using <System.dll>

using namespace System;
using namespace System::Globalization;
public ref class SamplesDateTimeFormatInfo
{
public:
   static void Main()
   {
      
      // Creates a new DateTimeFormatinfo.
      DateTimeFormatInfo^ myDtfi = gcnew DateTimeFormatInfo;
      
      // Gets and prints all the patterns
      array<String^>^myPatternsArray = myDtfi->GetAllDateTimePatterns();
      Console::WriteLine(  "ALL the patterns:" );
      PrintIndexAndValues( myPatternsArray );
      
      // Gets and prints the pattern(s) associated with some of the format characters.
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'd' );
      Console::WriteLine(  "The patterns for 'd':" );
      PrintIndexAndValues( myPatternsArray );
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'D' );
      Console::WriteLine(  "The patterns for 'D':" );
      PrintIndexAndValues( myPatternsArray );
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'f' );
      Console::WriteLine(  "The patterns for 'f':" );
      PrintIndexAndValues( myPatternsArray );
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'F' );
      Console::WriteLine(  "The patterns for 'F':" );
      PrintIndexAndValues( myPatternsArray );
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'r' );
      Console::WriteLine(  "The patterns for 'r':" );
      PrintIndexAndValues( myPatternsArray );
      myPatternsArray = myDtfi->GetAllDateTimePatterns( 'R' );
      Console::WriteLine(  "The patterns for 'R':" );
      PrintIndexAndValues( myPatternsArray );
   }

    public:
       static void PrintIndexAndValues( array<String^>^myArray )  {
       int i = 0;
       for each ( String^ s in myArray )
           Console::WriteLine( "\t[{0}]:\t{1}", i++, s );
       Console::WriteLine();
    }
};

int main()
{
   SamplesDateTimeFormatInfo::Main();
}

/* 
This code produces the following output.

ALL the patterns:
        [0]:    MM/dd/yyyy
        [1]:    dddd, dd MMMM yyyy
        [2]:    dddd, dd MMMM yyyy HH:mm
        [3]:    dddd, dd MMMM yyyy hh:mm tt
        [4]:    dddd, dd MMMM yyyy H:mm
        [5]:    dddd, dd MMMM yyyy h:mm tt
        [6]:    dddd, dd MMMM yyyy HH:mm:ss
        [7]:    MM/dd/yyyy HH:mm
        [8]:    MM/dd/yyyy hh:mm tt
        [9]:    MM/dd/yyyy H:mm
        [10]:   MM/dd/yyyy h:mm tt
        [11]:   MM/dd/yyyy HH:mm:ss
        [12]:   MMMM dd
        [13]:   MMMM dd
        [14]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [15]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [16]:   yyyy'-'MM'-'dd'T'HH':'mm':'ss
        [17]:   HH:mm
        [18]:   hh:mm tt
        [19]:   H:mm
        [20]:   h:mm tt
        [21]:   HH:mm:ss
        [22]:   yyyy'-'MM'-'dd HH':'mm':'ss'Z'
        [23]:   dddd, dd MMMM yyyy HH:mm:ss
        [24]:   yyyy MMMM
        [25]:   yyyy MMMM

The patterns for 'd':
        [0]:    MM/dd/yyyy

The patterns for 'D':
        [0]:    dddd, dd MMMM yyyy

The patterns for 'f':
        [0]:    dddd, dd MMMM yyyy HH:mm
        [1]:    dddd, dd MMMM yyyy hh:mm tt
        [2]:    dddd, dd MMMM yyyy H:mm
        [3]:    dddd, dd MMMM yyyy h:mm tt

The patterns for 'F':
        [0]:    dddd, dd MMMM yyyy HH:mm:ss

The patterns for 'r':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'

The patterns for 'R':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
*/
 using System;
 using System.Globalization;
 public class SamplesDateTimeFormatInfo  {

    public static void Main()  {

       // Creates a new DateTimeFormatinfo.
       DateTimeFormatInfo myDtfi = new DateTimeFormatInfo();

       // Gets and prints all the patterns.
       String[] myPatternsArray = myDtfi.GetAllDateTimePatterns();
       Console.WriteLine( "ALL the patterns:" );
       PrintIndexAndValues( myPatternsArray );

       // Gets and prints the pattern(s) associated with some of the format characters.
       myPatternsArray = myDtfi.GetAllDateTimePatterns('d');
       Console.WriteLine( "The patterns for 'd':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('D');
       Console.WriteLine( "The patterns for 'D':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('f');
       Console.WriteLine( "The patterns for 'f':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('F');
       Console.WriteLine( "The patterns for 'F':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('r');
       Console.WriteLine( "The patterns for 'r':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('R');
       Console.WriteLine( "The patterns for 'R':" );
       PrintIndexAndValues( myPatternsArray );
    }

    public static void PrintIndexAndValues( String[] myArray )  {
       int i = 0;
       foreach ( string s in myArray )
          Console.WriteLine( "\t[{0}]:\t{1}", i++, s );
       Console.WriteLine();
    }
 }


/*
This code produces the following output.

ALL the patterns:
        [0]:    MM/dd/yyyy
        [1]:    dddd, dd MMMM yyyy
        [2]:    dddd, dd MMMM yyyy HH:mm
        [3]:    dddd, dd MMMM yyyy hh:mm tt
        [4]:    dddd, dd MMMM yyyy H:mm
        [5]:    dddd, dd MMMM yyyy h:mm tt
        [6]:    dddd, dd MMMM yyyy HH:mm:ss
        [7]:    MM/dd/yyyy HH:mm
        [8]:    MM/dd/yyyy hh:mm tt
        [9]:    MM/dd/yyyy H:mm
        [10]:   MM/dd/yyyy h:mm tt
        [11]:   MM/dd/yyyy HH:mm:ss
        [12]:   MMMM dd
        [13]:   MMMM dd
        [14]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [15]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [16]:   yyyy'-'MM'-'dd'T'HH':'mm':'ss
        [17]:   HH:mm
        [18]:   hh:mm tt
        [19]:   H:mm
        [20]:   h:mm tt
        [21]:   HH:mm:ss
        [22]:   yyyy'-'MM'-'dd HH':'mm':'ss'Z'
        [23]:   dddd, dd MMMM yyyy HH:mm:ss
        [24]:   yyyy MMMM
        [25]:   yyyy MMMM

The patterns for 'd':
        [0]:    MM/dd/yyyy

The patterns for 'D':
        [0]:    dddd, dd MMMM yyyy

The patterns for 'f':
        [0]:    dddd, dd MMMM yyyy HH:mm
        [1]:    dddd, dd MMMM yyyy hh:mm tt
        [2]:    dddd, dd MMMM yyyy H:mm
        [3]:    dddd, dd MMMM yyyy h:mm tt

The patterns for 'F':
        [0]:    dddd, dd MMMM yyyy HH:mm:ss

The patterns for 'r':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'

The patterns for 'R':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
*/
Imports System.Globalization

Public Class SamplesDateTimeFormatInfo    
    
    Public Shared Sub Main()
        
        ' Creates a new DateTimeFormatinfo.
        Dim myDtfi As New DateTimeFormatInfo()
        
        ' Gets and prints all the patterns.
        Dim myPatternsArray As String() = myDtfi.GetAllDateTimePatterns()
        Console.WriteLine("ALL the patterns:")
        PrintIndexAndValues(myPatternsArray)
        
        ' Gets and prints the pattern(s) associated with some of the format characters.
        myPatternsArray = myDtfi.GetAllDateTimePatterns("d"c)
        Console.WriteLine("The patterns for 'd':")
        PrintIndexAndValues(myPatternsArray)
        
        myPatternsArray = myDtfi.GetAllDateTimePatterns("D"c)
        Console.WriteLine("The patterns for 'D':")
        PrintIndexAndValues(myPatternsArray)
        
        myPatternsArray = myDtfi.GetAllDateTimePatterns("f"c)
        Console.WriteLine("The patterns for 'f':")
        PrintIndexAndValues(myPatternsArray)
        
        myPatternsArray = myDtfi.GetAllDateTimePatterns("F"c)
        Console.WriteLine("The patterns for 'F':")
        PrintIndexAndValues(myPatternsArray)
        
        myPatternsArray = myDtfi.GetAllDateTimePatterns("r"c)
        Console.WriteLine("The patterns for 'r':")
        PrintIndexAndValues(myPatternsArray)
        
        myPatternsArray = myDtfi.GetAllDateTimePatterns("R"c)
        Console.WriteLine("The patterns for 'R':")
        PrintIndexAndValues(myPatternsArray)
    End Sub
    
    
    Public Shared Sub PrintIndexAndValues(myArray() As String)
        Dim i As Integer = 0
        Dim s As String
        For Each s In  myArray
            Console.WriteLine(ControlChars.Tab + "[{0}]:" + ControlChars.Tab _
               + "{1}", i, s)
            i += 1
        Next s
        Console.WriteLine()
    End Sub
End Class


' This code produces the following output.
'
' ALL the patterns:
' 	[0]:	MM/dd/yyyy
' 	[1]:	dddd, dd MMMM yyyy
' 	[2]:	dddd, dd MMMM yyyy HH:mm
' 	[3]:	dddd, dd MMMM yyyy hh:mm tt
' 	[4]:	dddd, dd MMMM yyyy H:mm
' 	[5]:	dddd, dd MMMM yyyy h:mm tt
' 	[6]:	dddd, dd MMMM yyyy HH:mm:ss
' 	[7]:	MM/dd/yyyy HH:mm
' 	[8]:	MM/dd/yyyy hh:mm tt
' 	[9]:	MM/dd/yyyy H:mm
' 	[10]:	MM/dd/yyyy h:mm tt
' 	[11]:	MM/dd/yyyy HH:mm:ss
' 	[12]:	MMMM dd
' 	[13]:	MMMM dd
' 	[14]:	ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
' 	[15]:	ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
' 	[16]:	yyyy'-'MM'-'dd'T'HH':'mm':'ss
' 	[17]:	HH:mm
' 	[18]:	hh:mm tt
' 	[19]:	H:mm
' 	[20]:	h:mm tt
' 	[21]:	HH:mm:ss
' 	[22]:	yyyy'-'MM'-'dd HH':'mm':'ss'Z'
' 	[23]:	dddd, dd MMMM yyyy HH:mm:ss
' 	[24]:	yyyy MMMM
' 	[25]:	yyyy MMMM
' 
' The patterns for 'd':
' 	[0]:	MM/dd/yyyy
' 
' The patterns for 'D':
' 	[0]:	dddd, dd MMMM yyyy
' 
' The patterns for 'f':
' 	[0]:	dddd, dd MMMM yyyy HH:mm
' 	[1]:	dddd, dd MMMM yyyy hh:mm tt
' 	[2]:	dddd, dd MMMM yyyy H:mm
' 	[3]:	dddd, dd MMMM yyyy h:mm tt
' 
' The patterns for 'F':
' 	[0]:	dddd, dd MMMM yyyy HH:mm:ss
' 
' The patterns for 'r':
' 	[0]:	ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
' 
' The patterns for 'R':
' 	[0]:	ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
'

Comentarios

Este método devuelve una matriz que contiene las cadenas de formato personalizado que corresponden a una cadena de formato estándar determinada. Consulte Cadenas de formato de fecha y hora estándar para obtener una lista de las cadenas de formato estándar.

Puede usar las cadenas de formato personalizado en la matriz devuelta por el GetAllDateTimePatterns método en las operaciones de formato. Sin embargo, si lo hace, la representación de cadena de un valor de fecha y hora devuelto en esa operación de formato no siempre se puede analizar correctamente por los Parse métodos y TryParse . Por lo tanto, no se puede suponer que las cadenas de formato personalizadas devueltas por el GetAllDateTimePatterns método se pueden usar para los valores de fecha y hora de ida y vuelta. El siguiente ejemplo ilustra este problema. Recupera un DateTimeFormatInfo objeto que contiene información de formato para la referencia cultural de Rusia (ruso). Llama al GetAllDateTimePatterns(Char) método para cada cadena de formato estándar y, a continuación, pasa cada cadena de formato personalizado de la matriz devuelta al DateTime.ToString(String) método para crear la representación de cadena de una fecha y hora. A continuación, en este ejemplo se intenta analizar este valor mediante una llamada al DateTime.TryParse(String, DateTime) método . Como se muestra en la salida del ejemplo, algunas de las cadenas de formato personalizado no generan un valor de fecha y hora que redondea correctamente los recorridos de ida y vuelta.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CreateSpecificCulture("ru-RU");
      char[] formats = { 'd', 'D', 'f', 'F', 'g', 'G', 'm', 'o',
                           'r', 's', 't', 'T', 'u', 'U', 'y' };
      DateTime date1 = new DateTime(2011, 02, 01, 7, 30, 45, 0);
      DateTime date2;
      int total = 0;
      int noRoundTrip = 0;

      foreach (var fmt in formats) {
         total = 0;
         noRoundTrip = 0;
         foreach (var pattern in culture.DateTimeFormat.GetAllDateTimePatterns(fmt)) {
            total++;
            if (! DateTime.TryParse(date1.ToString(pattern), out date2)) {
               noRoundTrip++;
               Console.WriteLine("Unable to parse {0:" + pattern + "} (format '{1}')",
                                 date1, pattern);
            }
         }
         if (noRoundTrip > 0)
            Console.WriteLine("{0}: Unable to round-trip {1} of {2} format strings.\n",
                              fmt, noRoundTrip, total);
         else
            Console.WriteLine("{0}: All custom format strings round trip.\n", fmt);
      }
   }
}
// The example displays the following output:
//    d: All custom format strings round trip.
//
//    Unable to parse 1 February 2011 г. (format 'd MMMM yyyy 'г.'')
//    Unable to parse 01 February 2011 г. (format 'dd MMMM yyyy 'г.'')
//    D: Unable to round-trip 2 of 2 format strings.
//
//    Unable to parse 1 February 2011 г. 7:30 (format 'd MMMM yyyy 'г.' H:mm')
//    Unable to parse 1 February 2011 г. 07:30 (format 'd MMMM yyyy 'г.' HH:mm')
//    Unable to parse 01 February 2011 г. 7:30 (format 'dd MMMM yyyy 'г.' H:mm')
//    Unable to parse 01 February 2011 г. 07:30 (format 'dd MMMM yyyy 'г.' HH:mm')
//    f: Unable to round-trip 4 of 4 format strings.
//
//    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
//    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
//    F: Unable to round-trip 4 of 4 format strings.
//
//    g: All custom format strings round trip.
//
//    G: All custom format strings round trip.
//
//    m: All custom format strings round trip.
//
//    o: All custom format strings round trip.
//
//    r: All custom format strings round trip.
//
//    s: All custom format strings round trip.
//
//    t: All custom format strings round trip.
//
//    T: All custom format strings round trip.
//
//    u: All custom format strings round trip.
//
//    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
//    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
//    U: Unable to round-trip 4 of 4 format strings.
//
//    y: All custom format strings round trip.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture("ru-RU")
      Dim formats() As String = { "d", "D", "f", "F", "g", "G", "m",
                                  "o", "r", "s", "t", "T", "u", "U", "y" }
      Dim date1 = New DateTime(2011, 02, 01, 7, 30, 45, 0)
      Dim date2 As DateTime
      Dim total, noRoundTrip As Integer

      For Each fmt In formats
         total = 0 : noRoundTrip = 0
         For Each pattern In culture.DateTimeFormat.GetAllDateTimePatterns(CChar(fmt))
            total += 1
            If Not DateTime.TryParse(date1.ToString(pattern), date2)
               noRoundTrip += 1
               Console.WriteLine("Unable to parse {0:" + pattern + "} (format '{1}')", 
                                 date1, pattern)
            End If             
         Next
         If noRoundTrip > 0 Then
            Console.WriteLine("{0}: Unable to round-trip {1} of {2} format strings.",
                              fmt, noRoundTrip, total)
            Console.WriteLine()
         Else
            Console.WriteLine("{0}: All custom format strings round trip.", fmt)
            Console.WriteLine()
         End If
      Next
   End Sub
End Module
' The example displays the following output:
'    d: All custom format strings round trip.
'    
'    Unable to parse 1 February 2011 г. (format 'd MMMM yyyy 'г.'')
'    Unable to parse 01 February 2011 г. (format 'dd MMMM yyyy 'г.'')
'    D: Unable to round-trip 2 of 2 format strings.
'    
'    Unable to parse 1 February 2011 г. 7:30 (format 'd MMMM yyyy 'г.' H:mm')
'    Unable to parse 1 February 2011 г. 07:30 (format 'd MMMM yyyy 'г.' HH:mm')
'    Unable to parse 01 February 2011 г. 7:30 (format 'dd MMMM yyyy 'г.' H:mm')
'    Unable to parse 01 February 2011 г. 07:30 (format 'dd MMMM yyyy 'г.' HH:mm')
'    f: Unable to round-trip 4 of 4 format strings.
'    
'    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
'    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
'    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
'    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
'    F: Unable to round-trip 4 of 4 format strings.
'    
'    g: All custom format strings round trip.
'    
'    G: All custom format strings round trip.
'    
'    m: All custom format strings round trip.
'    
'    o: All custom format strings round trip.
'    
'    r: All custom format strings round trip.
'    
'    s: All custom format strings round trip.
'    
'    t: All custom format strings round trip.
'    
'    T: All custom format strings round trip.
'    
'    u: All custom format strings round trip.
'    
'    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
'    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
'    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
'    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
'    U: Unable to round-trip 4 of 4 format strings.
'    
'    y: All custom format strings round trip.

Para analizar la representación de cadena de una fecha y hora que se puede expresar en varios formatos personalizados predefinidos, llame a uno de los métodos siguientes:

Las cadenas de formato personalizado de la matriz devueltas por el GetAllDateTimePatterns método dependen del calendario actual de la referencia cultural para la que el DateTimeFormatInfo objeto proporciona información de formato. Si el calendario cambia, la matriz devuelta por este método también cambia.

Consulte también

Se aplica a