Sugerir traducción
 
Otros han sugerido:

progress indicator
No hay más sugerencias.
Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Ver contenido:  en paraleloVer contenido: en paralelo
.NET Framework Class Library
DateTimeFormatInfo..::.GetAllDateTimePatterns Method (Char)

Updated: October 2010

Returns all the patterns in which date and time values can be formatted using the specified standard format string.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)
Visual Basic
Public Function GetAllDateTimePatterns ( _
    format As Char _
) As String()
C#
public string[] GetAllDateTimePatterns(
    char format
)
Visual C++
public:
array<String^>^ GetAllDateTimePatterns(
    wchar_t format
)
F#
member GetAllDateTimePatterns : 
        format:char -> string[] 

Parameters

format
Type: System..::.Char
A standard format string.

Return Value

Type: array<System..::.String>[]()[]
An array containing the standard patterns in which date and time values can be formatted using the specified format string.
ExceptionCondition
ArgumentException

format is not a valid standard format string.

This method returns an array containing the custom format strings that correspond to a particular standard format string. See Standard Date and Time Format Strings for a list of the standard format strings.

You can use the custom format strings in the array returned by the GetAllDateTimePatterns method in formatting operations. However, if you do, the string representation of a date and time value returned in that formatting operation cannot always be parsed successfully by the Parse and TryParse methods. Therefore, you cannot assume that the custom format strings returned by the GetAllDateTimePatterns method can be used to round-trip date and time values. The following example illustrates this problem. It retrieves a DateTimeFormatInfo object that contains formatting information for the Russia (Russian) culture. It calls the GetAllDateTimePatterns method for each standard format string, and then passes each custom format string in the returned array to the DateTime..::.ToString(String) method to create the string representation of a date and time. This example then attempts to parse this value by calling the DateTime..::.TryParse(String, DateTime%) method. As the output from the example shows, some of the custom format strings do not produce a date and time value that successfully round-trips.

Visual Basic
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.
C#
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.

To parse the string representation of a date and time that can be expressed in a number of predefined custom formats, call one of the following methods:

The custom format strings in the array returned by the GetAllDateTimePatterns method depends on the current calendar of the culture for which the DateTimeFormatInfo object supplies formatting information. If the calendar changes, the array returned by this method also changes.

The following example displays the date and time patterns for the current calendar.

Visual Basic
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

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'
' 

C#
 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'
*/

Visual C++
#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'
*/

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Date

History

Reason

October 2010

Noted that the elements of the string array do not always produce values that round-trip.

Content bug fix.

Biblioteca de clases de .NET Framework
DateTimeFormatInfo..::.GetAllDateTimePatterns (Método) (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.

Espacio de nombres:  System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)
Visual Basic
Public Function GetAllDateTimePatterns ( _
    format As Char _
) As String()
C#
public string[] GetAllDateTimePatterns(
    char format
)
Visual C++
public:
array<String^>^ GetAllDateTimePatterns(
    wchar_t format
)
F#
member GetAllDateTimePatterns : 
        format:char -> string[] 

Parámetros

format
Tipo: System..::.Char
Cadena con formato estándar.

Valor devuelto

Tipo: array<System..::.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.
ExcepciónCondición
ArgumentException

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

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

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

Visual Basic
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.
C#
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.

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

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

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

Visual Basic
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

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'
' 

C#
 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'
*/

Visual C++
#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'
*/

.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Fecha

Historial

Motivo

Octubre de 2010

Indicado que los elementos de la matriz de cadenas no siempre generan valores de ida y vuelta.

Corrección de errores de contenido.

Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker