DateTime.ToString DateTime.ToString DateTime.ToString DateTime.ToString Method

Определение

Преобразует значение текущего объекта DateTime в эквивалентное ему строковое представление.Converts the value of the current DateTime object to its equivalent string representation.

Перегрузки

ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider)

Преобразует значение текущего объекта DateTime в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях формата для данного языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the specified format and culture-specific format information.

ToString(String) ToString(String) ToString(String) ToString(String)

Преобразует значение текущего объекта DateTime в эквивалентное строковое представление с использованием указанного формата и соглашений о форматировании, принятых для текущего языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the specified format and the formatting conventions of the current culture.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Преобразует значение текущего объекта DateTime в эквивалентное ему строковое представление с использованием указанных сведений о форматировании, связанных с языком и региональными параметрами.Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

ToString() ToString() ToString() ToString()

Преобразует значение текущего объекта DateTime в эквивалентное строковое представление с помощью соглашений о форматировании для текущего языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the formatting conventions of the current culture.

ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider)

Преобразует значение текущего объекта DateTime в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях формата для данного языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the specified format and culture-specific format information.

public:
 virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ provider);
public string ToString (string format, IFormatProvider provider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, provider As IFormatProvider) As String

Параметры

format
String String String String

Строка стандартного или пользовательского формата даты и времени.A standard or custom date and time format string.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Объект, предоставляющий сведения о форматировании для определенного языка и региональных параметров.An object that supplies culture-specific formatting information.

Возвраты

Строковое представление значения текущего объекта DateTime, заданное параметрами format и provider.A string representation of value of the current DateTime object as specified by format and provider.

Реализации

Исключения

Длина format равна 1, и он не является одним из символов описателя формата, определенного для DateTimeFormatInfo.The length of format is 1, and it is not one of the format specifier characters defined for DateTimeFormatInfo.

- или --or- format не содержит допустимого шаблона пользовательского формата.format does not contain a valid custom format pattern.

Дата и время находятся за пределами диапазона дат, поддерживаемого календарем, используемым в provider.The date and time is outside the range of dates supported by the calendar used by provider.

Примеры

В следующем примере используется каждый из стандартных строк формата даты и времени для отображения строкового представления даты и времени для четырех различных языков и региональных параметров.The following example uses each of the standard date time format strings to display the string representation of a date and time for four different cultures.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Create an array of all supported standard date and time format specifiers.
      string[] formats = {"d", "D", "f", "F", "g", "G", "m", "o", "r", 
                          "s", "t", "T", "u", "U", "Y"};
      // Create an array of four cultures.                                 
      CultureInfo[] cultures = {CultureInfo.CreateSpecificCulture("de-DE"), 
                                CultureInfo.CreateSpecificCulture("en-US"), 
                                CultureInfo.CreateSpecificCulture("es-ES"), 
                                CultureInfo.CreateSpecificCulture("fr-FR")};
       // Define date to be displayed.
      DateTime dateToDisplay = new DateTime(2008, 10, 1, 17, 4, 32);

      // Iterate each standard format specifier.
      foreach (string formatSpecifier in formats)
      {
         foreach (CultureInfo culture in cultures)
            Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}", 
                              formatSpecifier, culture.Name, 
                              dateToDisplay.ToString(formatSpecifier, culture));
         Console.WriteLine();
      }   
   }
}
// The example displays the following output:
//    d Format Specifier      de-DE Culture                               01.10.2008
//    d Format Specifier      en-US Culture                                10/1/2008
//    d Format Specifier      es-ES Culture                               01/10/2008
//    d Format Specifier      fr-FR Culture                               01/10/2008
//    
//    D Format Specifier      de-DE Culture                Mittwoch, 1. Oktober 2008
//    D Format Specifier      en-US Culture              Wednesday, October 01, 2008
//    D Format Specifier      es-ES Culture         miércoles, 01 de octubre de 2008
//    D Format Specifier      fr-FR Culture                  mercredi 1 octobre 2008
//    
//    f Format Specifier      de-DE Culture          Mittwoch, 1. Oktober 2008 17:04
//    f Format Specifier      en-US Culture      Wednesday, October 01, 2008 5:04 PM
//    f Format Specifier      es-ES Culture   miércoles, 01 de octubre de 2008 17:04
//    f Format Specifier      fr-FR Culture            mercredi 1 octobre 2008 17:04
//    
//    F Format Specifier      de-DE Culture       Mittwoch, 1. Oktober 2008 17:04:32
//    F Format Specifier      en-US Culture   Wednesday, October 01, 2008 5:04:32 PM
//    F Format Specifier      es-ES Culture miércoles, 01 de octubre de 2008 17:04:3
//    F Format Specifier      fr-FR Culture         mercredi 1 octobre 2008 17:04:32
//    
//    g Format Specifier      de-DE Culture                         01.10.2008 17:04
//    g Format Specifier      en-US Culture                        10/1/2008 5:04 PM
//    g Format Specifier      es-ES Culture                         01/10/2008 17:04
//    g Format Specifier      fr-FR Culture                         01/10/2008 17:04
//    
//    G Format Specifier      de-DE Culture                      01.10.2008 17:04:32
//    G Format Specifier      en-US Culture                     10/1/2008 5:04:32 PM
//    G Format Specifier      es-ES Culture                      01/10/2008 17:04:32
//    G Format Specifier      fr-FR Culture                      01/10/2008 17:04:32
//    
//    m Format Specifier      de-DE Culture                               01 Oktober
//    m Format Specifier      en-US Culture                               October 01
//    m Format Specifier      es-ES Culture                               01 octubre
//    m Format Specifier      fr-FR Culture                                1 octobre
//    
//    o Format Specifier      de-DE Culture              2008-10-01T17:04:32.0000000
//    o Format Specifier      en-US Culture              2008-10-01T17:04:32.0000000
//    o Format Specifier      es-ES Culture              2008-10-01T17:04:32.0000000
//    o Format Specifier      fr-FR Culture              2008-10-01T17:04:32.0000000
//    
//    r Format Specifier      de-DE Culture            Wed, 01 Oct 2008 17:04:32 GMT
//    r Format Specifier      en-US Culture            Wed, 01 Oct 2008 17:04:32 GMT
//    r Format Specifier      es-ES Culture            Wed, 01 Oct 2008 17:04:32 GMT
//    r Format Specifier      fr-FR Culture            Wed, 01 Oct 2008 17:04:32 GMT
//    
//    s Format Specifier      de-DE Culture                      2008-10-01T17:04:32
//    s Format Specifier      en-US Culture                      2008-10-01T17:04:32
//    s Format Specifier      es-ES Culture                      2008-10-01T17:04:32
//    s Format Specifier      fr-FR Culture                      2008-10-01T17:04:32
//    
//    t Format Specifier      de-DE Culture                                    17:04
//    t Format Specifier      en-US Culture                                  5:04 PM
//    t Format Specifier      es-ES Culture                                    17:04
//    t Format Specifier      fr-FR Culture                                    17:04
//    
//    T Format Specifier      de-DE Culture                                 17:04:32
//    T Format Specifier      en-US Culture                               5:04:32 PM
//    T Format Specifier      es-ES Culture                                 17:04:32
//    T Format Specifier      fr-FR Culture                                 17:04:32
//    
//    u Format Specifier      de-DE Culture                     2008-10-01 17:04:32Z
//    u Format Specifier      en-US Culture                     2008-10-01 17:04:32Z
//    u Format Specifier      es-ES Culture                     2008-10-01 17:04:32Z
//    u Format Specifier      fr-FR Culture                     2008-10-01 17:04:32Z
//    
//    U Format Specifier      de-DE Culture     Donnerstag, 2. Oktober 2008 00:04:32
//    U Format Specifier      en-US Culture   Thursday, October 02, 2008 12:04:32 AM
//    U Format Specifier      es-ES Culture    jueves, 02 de octubre de 2008 0:04:32
//    U Format Specifier      fr-FR Culture            jeudi 2 octobre 2008 00:04:32
//    
//    Y Format Specifier      de-DE Culture                             Oktober 2008
//    Y Format Specifier      en-US Culture                            October, 2008
//    Y Format Specifier      es-ES Culture                          octubre de 2008
//    Y Format Specifier      fr-FR Culture                             octobre 2008
Imports System.Globalization

Module Example
   Public Sub Main()
      ' Create an array of all supported standard date and time format specifiers.
      Dim formats() As String = {"d", "D", "f", "F", "g", "G", "m", "o", "r", _
                                 "s", "t", "T", "u", "U", "Y"}
      ' Create an array of four cultures.                                 
      Dim cultures() As CultureInfo = {CultureInfo.CreateSpecificCulture("de-DE"), _
                                       CultureInfo.CreateSpecificCulture("en-US"), _
                                       CultureInfo.CreateSpecificCulture("es-ES"), _
                                       CultureInfo.CreateSpecificCulture("fr-FR")}
       ' Define date to be displayed.
      Dim dateToDisplay As Date = #10/1/2008 17:04:32#

      ' Iterate each standard format specifier.
      For Each formatSpecifier As String In formats
         For Each culture As CultureInfo In cultures
            Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}", _
                              formatSpecifier, culture.Name, _
                              dateToDisplay.ToString(formatSpecifier, culture))
         Next
         Console.WriteLine()
      Next                                       
   End Sub
End Module
' The example displays the following output:
'    d Format Specifier      de-DE Culture                               01.10.2008
'    d Format Specifier      en-US Culture                                10/1/2008
'    d Format Specifier      es-ES Culture                               01/10/2008
'    d Format Specifier      fr-FR Culture                               01/10/2008
'    
'    D Format Specifier      de-DE Culture                Mittwoch, 1. Oktober 2008
'    D Format Specifier      en-US Culture              Wednesday, October 01, 2008
'    D Format Specifier      es-ES Culture         miércoles, 01 de octubre de 2008
'    D Format Specifier      fr-FR Culture                  mercredi 1 octobre 2008
'    
'    f Format Specifier      de-DE Culture          Mittwoch, 1. Oktober 2008 17:04
'    f Format Specifier      en-US Culture      Wednesday, October 01, 2008 5:04 PM
'    f Format Specifier      es-ES Culture   miércoles, 01 de octubre de 2008 17:04
'    f Format Specifier      fr-FR Culture            mercredi 1 octobre 2008 17:04
'    
'    F Format Specifier      de-DE Culture       Mittwoch, 1. Oktober 2008 17:04:32
'    F Format Specifier      en-US Culture   Wednesday, October 01, 2008 5:04:32 PM
'    F Format Specifier      es-ES Culture miércoles, 01 de octubre de 2008 17:04:3
'    F Format Specifier      fr-FR Culture         mercredi 1 octobre 2008 17:04:32
'    
'    g Format Specifier      de-DE Culture                         01.10.2008 17:04
'    g Format Specifier      en-US Culture                        10/1/2008 5:04 PM
'    g Format Specifier      es-ES Culture                         01/10/2008 17:04
'    g Format Specifier      fr-FR Culture                         01/10/2008 17:04
'    
'    G Format Specifier      de-DE Culture                      01.10.2008 17:04:32
'    G Format Specifier      en-US Culture                     10/1/2008 5:04:32 PM
'    G Format Specifier      es-ES Culture                      01/10/2008 17:04:32
'    G Format Specifier      fr-FR Culture                      01/10/2008 17:04:32
'    
'    m Format Specifier      de-DE Culture                               01 Oktober
'    m Format Specifier      en-US Culture                               October 01
'    m Format Specifier      es-ES Culture                               01 octubre
'    m Format Specifier      fr-FR Culture                                1 octobre
'    
'    o Format Specifier      de-DE Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      en-US Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      es-ES Culture              2008-10-01T17:04:32.0000000
'    o Format Specifier      fr-FR Culture              2008-10-01T17:04:32.0000000
'    
'    r Format Specifier      de-DE Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      en-US Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      es-ES Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    r Format Specifier      fr-FR Culture            Wed, 01 Oct 2008 17:04:32 GMT
'    
'    s Format Specifier      de-DE Culture                      2008-10-01T17:04:32
'    s Format Specifier      en-US Culture                      2008-10-01T17:04:32
'    s Format Specifier      es-ES Culture                      2008-10-01T17:04:32
'    s Format Specifier      fr-FR Culture                      2008-10-01T17:04:32
'    
'    t Format Specifier      de-DE Culture                                    17:04
'    t Format Specifier      en-US Culture                                  5:04 PM
'    t Format Specifier      es-ES Culture                                    17:04
'    t Format Specifier      fr-FR Culture                                    17:04
'    
'    T Format Specifier      de-DE Culture                                 17:04:32
'    T Format Specifier      en-US Culture                               5:04:32 PM
'    T Format Specifier      es-ES Culture                                 17:04:32
'    T Format Specifier      fr-FR Culture                                 17:04:32
'    
'    u Format Specifier      de-DE Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      en-US Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      es-ES Culture                     2008-10-01 17:04:32Z
'    u Format Specifier      fr-FR Culture                     2008-10-01 17:04:32Z
'    
'    U Format Specifier      de-DE Culture     Donnerstag, 2. Oktober 2008 00:04:32
'    U Format Specifier      en-US Culture   Thursday, October 02, 2008 12:04:32 AM
'    U Format Specifier      es-ES Culture    jueves, 02 de octubre de 2008 0:04:32
'    U Format Specifier      fr-FR Culture            jeudi 2 octobre 2008 00:04:32
'    
'    Y Format Specifier      de-DE Culture                             Oktober 2008
'    Y Format Specifier      en-US Culture                            October, 2008
'    Y Format Specifier      es-ES Culture                          octubre de 2008
'    Y Format Specifier      fr-FR Culture                             octobre 2008

В следующем примере показаны различные способы форматирования DateTime значения с помощью инварианта. DateTimeFormatInfoThe following example demonstrates different ways of formatting a DateTime value using the invariant DateTimeFormatInfo.

using namespace System;
using namespace System::Globalization;
void main()
{
   DateTime dt = DateTime::Now;
   array<String^>^format = {L"d",L"D",L"f",L"F",L"g",L"G",L"m",L"r",L"s",L"t",L"T",L"u",L"U",L"y",L"dddd, MMMM dd yyyy",L"ddd, MMM d \"'\"yy",L"dddd, MMMM dd",L"M/yy",L"dd-MM-yy"};
   String^ date;
   for ( int i = 0; i < format->Length; i++ )
   {
      date = dt.ToString( format[ i ], DateTimeFormatInfo::InvariantInfo );
      Console::WriteLine( String::Concat( format[ i ], L" :", date ) );

   }
   
   /** Output.
       *
       * d :08/17/2000
       * D :Thursday, August 17, 2000
       * f :Thursday, August 17, 2000 16:32
       * F :Thursday, August 17, 2000 16:32:32
       * g :08/17/2000 16:32
       * G :08/17/2000 16:32:32
       * m :August 17
       * r :Thu, 17 Aug 2000 23:32:32 GMT
       * s :2000-08-17T16:32:32
       * t :16:32
       * T :16:32:32
       * u :2000-08-17 23:32:32Z
       * U :Thursday, August 17, 2000 23:32:32
       * y :August, 2000
       * dddd, MMMM dd yyyy :Thursday, August 17 2000
       * ddd, MMM d "'"yy :Thu, Aug 17 '00
       * dddd, MMMM dd :Thursday, August 17
       * M/yy :8/00
       * dd-MM-yy :17-08-00
       */
}

 using System;
 using System.Globalization; 
 
public class MainClass { 
    public static void Main(string[] args)  {
        DateTime dt = DateTime.Now;
        String[] format = {
            "d", "D",
            "f", "F",
            "g", "G",
            "m",
            "r",
            "s",
            "t", "T",
            "u", "U",
            "y",
            "dddd, MMMM dd yyyy",
            "ddd, MMM d \"'\"yy",
            "dddd, MMMM dd",
            "M/yy",
            "dd-MM-yy",
        };
        String date;
        for (int i = 0; i < format.Length; i++) {
            date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
            Console.WriteLine(String.Concat(format[i], " :" , date));
        }
  
   /** Output.
    *
    * d :08/17/2000
    * D :Thursday, August 17, 2000
    * f :Thursday, August 17, 2000 16:32
    * F :Thursday, August 17, 2000 16:32:32
    * g :08/17/2000 16:32
    * G :08/17/2000 16:32:32
    * m :August 17
    * r :Thu, 17 Aug 2000 23:32:32 GMT
    * s :2000-08-17T16:32:32
    * t :16:32
    * T :16:32:32
    * u :2000-08-17 23:32:32Z
    * U :Thursday, August 17, 2000 23:32:32
    * y :August, 2000
    * dddd, MMMM dd yyyy :Thursday, August 17 2000
    * ddd, MMM d "'"yy :Thu, Aug 17 '00
    * dddd, MMMM dd :Thursday, August 17
    * M/yy :8/00
    * dd-MM-yy :17-08-00
    */
    }
}
Option Explicit
Option Strict

Imports System
Imports System.Globalization

Public Class MainClass
    
    Public Shared Sub Main()
        Dim dt As DateTime = DateTime.Now
        Dim myformat() As String =  {"d", "D", _
                                    "f", "F", _
                                    "g", "G", _
                                    "m", _
                                    "r", _
                                    "s", _
                                    "t", "T", _
                                    "u", "U", _
                                    "y", _
                                    "dddd, MMMM dd yyyy", _
                                    "ddd, MMM d ""'""yy", _
                                    "dddd, MMMM dd", _
                                    "M/yy", _
                                    "dd-MM-yy"}
        Dim mydate As String
        Dim i As Integer
        For i = 0 To myformat.Length - 1
            mydate = dt.ToString(myformat(i), DateTimeFormatInfo.InvariantInfo)
            Console.WriteLine(String.Concat(myformat(i), " :", mydate))
        Next i

    ' Output.
    '
    ' d :08/17/2000
    ' D :Thursday, August 17, 2000
    ' f :Thursday, August 17, 2000 16:32
    ' F :Thursday, August 17, 2000 16:32:32
    ' g :08/17/2000 16:32
    ' G :08/17/2000 16:32:32
    ' m :August 17
    ' r :Thu, 17 Aug 2000 23:32:32 GMT
    ' s :2000-08-17T16:32:32
    ' t :16:32
    ' T :16:32:32
    ' u :2000-08-17 23:32:32Z
    ' U :Thursday, August 17, 2000 23:32:32
    ' y :August, 2000
    ' dddd, MMMM dd yyyy :Thursday, August 17 2000
    ' ddd, MMM d "'"yy :Thu, Aug 17 '00
    ' dddd, MMMM dd :Thursday, August 17
    ' M/yy :8/00
    ' dd-MM-yy :17-08-00
    End Sub 'Main 
End Class 'MainClass

Комментарии

Параметр может содержать один символ описателя формата (см. строки стандартных форматов даты и времени) или шаблон пользовательского формата (см. раздел настраиваемые строки формата даты и времени). formatThe format parameter can contain either a single format specifier character (see Standard Date and Time Format Strings) or a custom format pattern (see Custom Date and Time Format Strings). Если format параметр null имеет значение или является пустой строкой (""), используется описатель стандартного формата "G".If format is null or an empty string (""), the standard format specifier, "G", is used.

provider Параметр определяет шаблон, соответствующий описателем стандартного формата, а также символам и именам компонентов даты и времени.The provider parameter defines the pattern that corresponds to the standard format specifiers, as well as the symbols and names of date and time components. provider Параметр может быть любым из следующих:The provider parameter can be any of the following:

  • CultureInfo Объект, представляющий язык и региональные параметры, соглашения о форматировании которых должны быть отражены в возвращаемой строке.A CultureInfo object that represents the culture whose formatting conventions are to be reflected in the returned string. Объект, возвращаемый свойством, определяет форматирование возвращаемой строки. CultureInfo.DateTimeFormat DateTimeFormatInfoThe DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the formatting of the returned string.

  • DateTimeFormatInfo Объект, определяющий формат данных даты и времени.A DateTimeFormatInfo object that defines the format of date and time data.

  • Пользовательский объект, реализующий IFormatProvider интерфейс.A custom object that implements the IFormatProvider interface. Его GetFormat методDateTimeFormatInfo возвращает объект, предоставляющий сведения о форматировании.Its GetFormat method returns a DateTimeFormatInfo object that provides formatting information.

Если provider DateTimeFormatInfo имеет nullзначение, то используется объект, связанный с текущим языком и региональными параметрами.If provider is null, the DateTimeFormatInfo associated with the current culture is used. Для получения дополнительной информации см. CultureInfo.CurrentCulture.For more information, see CultureInfo.CurrentCulture.

Примечания для тех, кто вызывает этот метод

Метод возвращает строковое представление даты и времени в календаре, используемом provider параметром. ToString(String, IFormatProvider)The ToString(String, IFormatProvider) method returns the string representation of the date and time in the calendar used by the provider parameter. Его календарь определяется Calendar свойством.Its calendar is defined by the Calendar property. Если значение текущего DateTime экземпляра MinSupportedDateTime предшествует или позднее MaxSupportedDateTime, метод создает ArgumentOutOfRangeExceptionисключение.If the value of the current DateTime instance is earlier than MinSupportedDateTime or later than MaxSupportedDateTime, the method throws an ArgumentOutOfRangeException. Ниже приведен пример.The following example provides an illustration. Он пытается отформатировать дату, которая находится за пределами диапазона UmAlQuraCalendar класса.It attempts to format a date that is outside the range of the UmAlQuraCalendar class.

[!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#4] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#4][!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#4] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#4]

Дополнительно

ToString(String) ToString(String) ToString(String) ToString(String)

Преобразует значение текущего объекта DateTime в эквивалентное строковое представление с использованием указанного формата и соглашений о форматировании, принятых для текущего языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the specified format and the formatting conventions of the current culture.

public:
 System::String ^ ToString(System::String ^ format);
public string ToString (string format);
override this.ToString : string -> string
Public Function ToString (format As String) As String

Параметры

format
String String String String

Строка стандартного или пользовательского формата даты и времени.A standard or custom date and time format string.

Возвраты

Строковое представление значения текущего объекта DateTime, заданное параметром format.A string representation of value of the current DateTime object as specified by format.

Исключения

Длина format равна 1, и он не является одним из символов описателя формата, определенного для DateTimeFormatInfo.The length of format is 1, and it is not one of the format specifier characters defined for DateTimeFormatInfo.

-или--or- Параметр format не содержит допустимый пользовательский шаблон формата.format does not contain a valid custom format pattern.

Дата и время находятся за пределами диапазона дат, поддерживаемого календарем, принятым для текущего языка и региональных параметров.The date and time is outside the range of dates supported by the calendar used by the current culture.

Примеры

В следующем примере используются все строки стандартных форматов даты и времени, а также выделены строки настраиваемых форматов даты и времени для отображения строкового представления DateTime значения.The following example uses each of the standard date and time format strings and a selection of custom date and time format strings to display the string representation of a DateTime value. Текущий язык и региональные параметры потока для примера — en-US.The thread current culture for the example is en-US.

using System;

public class DateToStringExample
{
   public static void Main()
   {
      DateTime dateValue = new DateTime(2008, 6, 15, 21, 15, 07);
      // Create an array of standard format strings.
      string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o", 
                               "R", "s", "t", "T", "u", "U", "y"};
      // Output date and time using each standard format string.
      foreach (string standardFmt in standardFmts)
         Console.WriteLine("{0}: {1}", standardFmt, 
                           dateValue.ToString(standardFmt));
      Console.WriteLine();
      
      // Create an array of some custom format strings.
      string[] customFmts = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f", 
                             "dd MMM HH:mm:ss", @"\Mon\t\h\: M", "HH:mm:ss.ffffzzz" };
      // Output date and time using each custom format string.
      foreach (string customFmt in customFmts)
         Console.WriteLine("'{0}': {1}", customFmt,
                           dateValue.ToString(customFmt));
   }
}
// This example displays the following output to the console:
//       d: 6/15/2008
//       D: Sunday, June 15, 2008
//       f: Sunday, June 15, 2008 9:15 PM
//       F: Sunday, June 15, 2008 9:15:07 PM
//       g: 6/15/2008 9:15 PM
//       G: 6/15/2008 9:15:07 PM
//       m: June 15
//       o: 2008-06-15T21:15:07.0000000
//       R: Sun, 15 Jun 2008 21:15:07 GMT
//       s: 2008-06-15T21:15:07
//       t: 9:15 PM
//       T: 9:15:07 PM
//       u: 2008-06-15 21:15:07Z
//       U: Monday, June 16, 2008 4:15:07 AM
//       y: June, 2008
//       
//       'h:mm:ss.ff t': 9:15:07.00 P
//       'd MMM yyyy': 15 Jun 2008
//       'HH:mm:ss.f': 21:15:07.0
//       'dd MMM HH:mm:ss': 15 Jun 21:15:07
//       '\Mon\t\h\: M': Month: 6
//       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
Module DateToStringExample
   Public Sub Main()
      Dim dateValue As Date = #6/15/2008 9:15:07PM#
      ' Create an array of standard format strings.
      Dim standardFmts() As String = {"d", "D", "f", "F", "g", "G", _
                                      "m", "o", "R", "s", "t", "T", _
                                      "u", "U", "y"}
      ' Output date and time using each standard format string.
      For Each standardFmt As String In standardFmts
         Console.WriteLine("{0}: {1}", standardFmt, _
                           dateValue.ToString(standardFmt))
      Next
      Console.WriteLine()
      
      ' Create an array of some custom format strings.
      Dim customFmts() As String = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f", _
                                    "dd MMM HH:mm:ss", "\Mon\t\h\: M", "HH:mm:ss.ffffzzz" }
      ' Output date and time using each custom format string.
      For Each customFmt As String In customFmts
         Console.WriteLine("'{0}': {1}", customFmt, _
                           dateValue.ToString(customFmt))
      Next
   End Sub
End Module
' This example displays the following output to the console:
'       d: 6/15/2008
'       D: Sunday, June 15, 2008
'       f: Sunday, June 15, 2008 9:15 PM
'       F: Sunday, June 15, 2008 9:15:07 PM
'       g: 6/15/2008 9:15 PM
'       G: 6/15/2008 9:15:07 PM
'       m: June 15
'       o: 2008-06-15T21:15:07.0000000
'       R: Sun, 15 Jun 2008 21:15:07 GMT
'       s: 2008-06-15T21:15:07
'       t: 9:15 PM
'       T: 9:15:07 PM
'       u: 2008-06-15 21:15:07Z
'       U: Monday, June 16, 2008 4:15:07 AM
'       y: June, 2008
'       
'       'h:mm:ss.ff t': 9:15:07.00 P
'       'd MMM yyyy': 15 Jun 2008
'       'HH:mm:ss.f': 21:15:07.0
'       'dd MMM HH:mm:ss': 15 Jun 21:15:07
'       '\Mon\t\h\: M': Month: 6
'       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00

Комментарии

Метод возвращает строковое представление значения даты и времени в определенном формате, который использует соглашения о форматировании текущего языка и региональных параметров. Дополнительные сведения см. в CultureInfo.CurrentCultureразделе. ToString(String)The ToString(String) method returns the string representation of a date and time value in a specific format that uses the formatting conventions of the current culture; for more information, see CultureInfo.CurrentCulture.

Параметр должен содержать один символ описателя формата (см. строки стандартных форматов даты и времени) или шаблон пользовательского формата (см. раздел настраиваемые строки формата даты и времени), определяющий формат возвращаемого объекта. format Строка.The format parameter should contain either a single format specifier character (see Standard Date and Time Format Strings) or a custom format pattern (see Custom Date and Time Format Strings) that defines the format of the returned string. Если format параметр null имеет значение или является пустой строкой, используется описатель общего формата "G".If format is null or an empty string, the general format specifier, 'G', is used.

Ниже перечислены некоторые способы использования этого метода.Some uses of this method include:

  • Получение строки, отображающей дату и время в коротком формате даты и времени в текущем языке и региональных параметрах.Getting a string that displays the date and time in the current culture's short date and time format. Для этого используется описатель формата "G".To do this, you use the "G" format specifier.

  • Получение строки, содержащей только месяц и год.Getting a string that contains only the month and year. Для этого используется строка формата "MM/гггг".To do this, you use the "MM/yyyy" format string. В строке формата используется разделитель дат текущего языка и региональных параметров.The format string uses the current culture's date separator.

  • Получение строки, содержащей дату и время в определенном формате.Getting a string that contains the date and time in a specific format. Например, строка формата "мм/дд/Иииихх: мм" отображает строку даты и времени в фиксированном формате, например "19//03//2013 18:06".For example, the "MM/dd/yyyyHH:mm" format string displays the date and time string in a fixed format such as "19//03//2013 18:06". Строка формата использует символ "/" в качестве фиксированного разделителя даты независимо от параметров, зависящих от языка и региональных параметров.The format string uses "/" as a fixed date separator regardless of culture-specific settings.

  • Получение даты в сокращенном формате, который можно использовать для сериализации строки даты.Getting a date in a condensed format that could be used for serializing a date string. Например, строка формата ГГГГММДД отображает год из четырех цифр, за которым следует двузначное число, состоящих из двух цифр, а в качестве разделителя дат — день.For example, the "yyyyMMdd" format string displays a four-digit year followed by a two-digit month and a two-digit day with no date separator.

В следующем примере эти три строки формата используются для вывода значения даты и времени с использованием соглашений о языках и региональных параметрах en-US и fr-FR.The following example uses these three format strings to display a date and time value by using the conventions of the en-US and fr-FR cultures.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      String[] formats = { "G", "MM/yyyy", @"MM\/dd\/yyyy HH:mm",
                           "yyyyMMdd" };
      String[] cultureNames = { "en-US", "fr-FR" };
      DateTime date = new DateTime(2015, 8, 18, 13, 31, 17);
      foreach (var cultureName in cultureNames) {
         var culture = new CultureInfo(cultureName);
         CultureInfo.CurrentCulture = culture;
         Console.WriteLine(culture.NativeName);
         foreach (var format in formats)
            Console.WriteLine("   {0}: {1}", format,
                              date.ToString(format));
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       English (United States)
//          G: 8/18/2015 1:31:17 PM
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
//
//       français (France)
//          G: 18/08/2015 13:31:17
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
Imports System.Globalization
Imports System.Threading

Public Module Example
   Public Sub Main()
      Dim formats() As String = { "G", "MM/yyyy", "MM\/dd\/yyyy HH:mm",
                                  "yyyyMMdd" }
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim dat As New DateTime(2015, 8, 18, 13, 31, 17)
      For Each cultureName In cultureNames
         Dim culture As New CultureInfo(cultureName)
         CultureInfo.CurrentCulture = culture
         Console.WriteLine(culture.NativeName)
         For Each fmt In formats
            Console.WriteLine("   {0}: {1}", fmt,
                              dat.ToString(fmt))
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'       English (United States)
'          G: 8/18/2015 1:31:17 PM
'          MM/yyyy: 08/2015
'          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
'          yyyyMMdd: 20150818
'
'       français (France)
'          G: 18/08/2015 13:31:17
'          MM/yyyy: 08/2015
'          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
'          yyyyMMdd: 20150818

Примечания для тех, кто вызывает этот метод

ToString(String) Метод возвращает строковое представление даты и времени в календаре, используемом текущим языком и региональными параметрами.The ToString(String) method returns the string representation of the date and time in the calendar used by the current culture. Если значение текущего DateTime экземпляра MinSupportedDateTime предшествует или позднее MaxSupportedDateTime, метод создает ArgumentOutOfRangeExceptionисключение.If the value of the current DateTime instance is earlier than MinSupportedDateTime or later than MaxSupportedDateTime, the method throws an ArgumentOutOfRangeException. Ниже приведен пример.The following example provides an illustration. Он пытается отформатировать дату, находящееся за пределами диапазона HebrewCalendar класса, если текущий язык и региональные параметры — иврит (Израиль).It attempts to format a date that is outside the range of the HebrewCalendar class when the current culture is Hebrew (Israel).

[!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#3] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#3][!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#3] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#3]

Дополнительно

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Преобразует значение текущего объекта DateTime в эквивалентное ему строковое представление с использованием указанных сведений о форматировании, связанных с языком и региональными параметрами.Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

public:
 virtual System::String ^ ToString(IFormatProvider ^ provider);
public string ToString (IFormatProvider provider);
override this.ToString : IFormatProvider -> string
Public Function ToString (provider As IFormatProvider) As String

Параметры

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Объект, предоставляющий сведения о форматировании для определенного языка и региональных параметров.An object that supplies culture-specific formatting information.

Возвраты

Строковое представление значения текущего объекта DateTime, заданное параметром provider.A string representation of value of the current DateTime object as specified by provider.

Реализации

Исключения

Дата и время находятся за пределами диапазона дат, поддерживаемого календарем, используемым в provider.The date and time is outside the range of dates supported by the calendar used by provider.

Примеры

В следующем примере отображается строковое представление даты и времени с использованием CultureInfo объектов, представляющих пять различных языков и региональных параметров.The following example displays the string representation of a date and time using CultureInfo objects that represent five different cultures.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture, 
                                                  new CultureInfo("en-us"), 
                                                  new CultureInfo("fr-fr"), 
                                                  new CultureInfo("de-DE"), 
                                                  new CultureInfo("es-ES"),
                                                  new CultureInfo("ja-JP")};

      DateTime thisDate = new DateTime(2009, 5, 1, 9, 0, 0);                                            

      foreach (CultureInfo culture in cultures)
      {
         string cultureName; 
         if (string.IsNullOrEmpty(culture.Name))
            cultureName = culture.NativeName;
         else
            cultureName = culture.Name;
      
         Console.WriteLine("In {0}, {1}", 
                           cultureName, thisDate.ToString(culture));
      }                                            
      }
}
// The example produces the following output:
//    In Invariant Language (Invariant Country), 05/01/2009 09:00:00
//    In en-US, 5/1/2009 9:00:00 AM
//    In fr-FR, 01/05/2009 09:00:00
//    In de-DE, 01.05.2009 09:00:00
//    In es-ES, 01/05/2009 9:00:00
//    In ja-JP, 2009/05/01 9:00:00
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
                                       New CultureInfo("en-us"), _
                                       New CultureInfo("fr-fr"), _
                                       New CultureInfo("de-DE"), _
                                       New CultureInfo("es-ES"), _
                                       New CultureInfo("ja-JP")}
      
      Dim thisDate As Date =#5/1/2009 9:00AM#                                            
      
      For Each culture As CultureInfo In cultures
         Dim cultureName As String 
         If String.IsNullOrEmpty(culture.Name) Then
            cultureName = culture.NativeName
         Else
            cultureName = culture.Name
         End If

         Console.WriteLine("In {0}, {1}", _
                           cultureName, thisDate.ToString(culture))
      Next                                            
   End Sub
End Module
' The example produces the following output:
'    In Invariant Language (Invariant Country), 05/01/2009 09:00:00
'    In en-US, 5/1/2009 9:00:00 AM
'    In fr-FR, 01/05/2009 09:00:00
'    In de-DE, 01.05.2009 09:00:00
'    In es-ES, 01/05/2009 9:00:00
'    In ja-JP, 2009/05/01 9:00:00

Комментарии

Значение текущего DateTime объекта форматируется с помощью описателя общего формата даты и времени (' G '), который форматирует выходные данные с использованием краткого шаблона даты и длинного шаблона времени.The value of the current DateTime object is formatted using the general date and time format specifier ('G'), which formats output using the short date pattern and the long time pattern.

Формат короткого шаблона даты и длинного времени определяется provider параметром.The format of the short date and long time pattern is defined by the provider parameter. provider Параметр может быть любым из следующих:The provider parameter can be any of the following:

  • CultureInfo Объект, представляющий язык и региональные параметры, соглашения о форматировании которых должны быть отражены в возвращаемой строке.A CultureInfo object that represents the culture whose formatting conventions are to be reflected in the returned string. Объект, возвращаемый свойством, определяет форматирование возвращаемой строки. CultureInfo.DateTimeFormat DateTimeFormatInfoThe DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the formatting of the returned string.

  • DateTimeFormatInfo Объект, определяющий формат данных даты и времени.A DateTimeFormatInfo object that defines the format of date and time data.

  • Пользовательский объект, реализующий IFormatProvider интерфейс.A custom object that implements the IFormatProvider interface. Его GetFormat методDateTimeFormatInfo возвращает объект, предоставляющий сведения о форматировании.Its GetFormat method returns a DateTimeFormatInfo object that provides formatting information.

Если provider имеет nullзначение, DateTimeFormatInfo то используется объект, связанный с текущим языком и региональными параметрами.If provider is null, the DateTimeFormatInfo object associated with the current culture is used. Для получения дополнительной информации см. CultureInfo.CurrentCulture.For more information, see CultureInfo.CurrentCulture.

Примечания для тех, кто вызывает этот метод

Метод возвращает строковое представление даты и времени в календаре, используемом культурой, представленной provider параметром. ToString(IFormatProvider)The ToString(IFormatProvider) method returns the string representation of the date and time in the calendar used by the culture represented by the provider parameter. Его календарь определяется Calendar свойством.Its calendar is defined by the Calendar property. Если значение текущего DateTime экземпляра MinSupportedDateTime предшествует или позднее MaxSupportedDateTime, метод создает ArgumentOutOfRangeExceptionисключение.If the value of the current DateTime instance is earlier than MinSupportedDateTime or later than MaxSupportedDateTime, the method throws an ArgumentOutOfRangeException. Ниже приведен пример.The following example provides an illustration. Он пытается отформатировать дату, которая находится за пределами диапазона JapaneseCalendar класса.It attempts to format a date that is outside the range of the JapaneseCalendar class.

[!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#1] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#1][!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#1] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#1]

Дополнительно

ToString() ToString() ToString() ToString()

Преобразует значение текущего объекта DateTime в эквивалентное строковое представление с помощью соглашений о форматировании для текущего языка и региональных параметров.Converts the value of the current DateTime object to its equivalent string representation using the formatting conventions of the current culture.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Возвраты

Строковое представление значения текущего объекта DateTime.A string representation of the value of the current DateTime object.

Исключения

Дата и время находятся за пределами диапазона дат, поддерживаемого календарем, принятым для текущего языка и региональных параметров.The date and time is outside the range of dates supported by the calendar used by the current culture.

Примеры

В следующем примере показано, как строковое представление DateTime значения, возвращаемого ToString() методом, зависит от текущего языка и региональных параметров потока.The following example illustrates how the string representation of a DateTime value returned by the ToString() method depends on the thread current culture. Он изменяет язык и региональные параметры текущего потока с EN-US на fr-FR на ja-JP.It changes the current thread culture from en-US to fr-FR to ja-JP. и в каждом случае вызывает ToString() метод для возврата строкового представления значения даты и времени с помощью этого языка и региональных параметров.and in each case calls the ToString() method to return the string representation of a date and time value using that culture.

using System;
using System.Globalization;
using System.Threading;

public class DateToStringExample
{
   public static void Main()
   {
      CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
      DateTime exampleDate = new DateTime(2008, 5, 1, 18, 32, 6);
      
      // Display the date using the current (en-US) culture.
      Console.WriteLine(exampleDate.ToString());

      // Change the current culture to fr-FR and display the date.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR");
      Console.WriteLine(exampleDate.ToString());

      // Change the current culture to ja-JP and display the date.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ja-JP");
      Console.WriteLine(exampleDate.ToString());
      
      // Restore the original culture
      Thread.CurrentThread.CurrentCulture = currentCulture;
   }
}
// The example displays the following output to the console:
//       5/1/2008 6:32:06 PM
//       01/05/2008 18:32:06
//       2008/05/01 18:32:06
Imports System.Globalization
Imports System.Threading

Module DateToStringExample
   Public Sub Main()
      Dim currentCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
      Dim exampleDate As Date = #05/01/2008 6:32:06PM#
      
      ' Display the date using the current (en-US) culture.
      Console.WriteLine(exampleDate.ToString())

      ' Change the current culture to fr-FR and display the date.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR")
      Console.WriteLine(exampleDate.ToString())

      ' Change the current culture to ja-JP and display the date.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ja-JP")
      Console.WriteLine(exampleDate.ToString())
      
      ' Restore the original culture
      Thread.CurrentThread.CurrentCulture = currentCulture
   End Sub
End Module
' The example displays the following output to the console:
'       5/1/2008 6:32:06 PM
'       01/05/2008 18:32:06
'       2008/05/01 18:32:06

Комментарии

Значение текущего DateTime объекта форматируется с помощью описателя общего формата даты и времени ("G").The value of the current DateTime object is formatted using the general date and time format specifier ('G'). Чтобы отформатировать его с помощью определенного описателя формата даты и времени, вызовите ToString(String) метод.To format it using a specific date and time format specifier, call the ToString(String) method. Чтобы отформатировать его с помощью описателя общего формата даты и времени ("G") для определенного языка и региональных параметров ToString(IFormatProvider) , вызовите метод.To format it using the general date and time format specifier ('G') for a specific culture, call the ToString(IFormatProvider) method. Чтобы отформатировать его с помощью определенного описателя формата даты и времени и соглашений определенного языка и региональных параметров, вызовите ToString(String, IFormatProvider) метод.To format it using a specific date and time format specifier and the conventions of a specific culture, call the ToString(String, IFormatProvider) method.

Этот метод использует сведения о форматировании, полученные из текущего языка и региональных параметров.This method uses formatting information derived from the current culture. В частности, он объединяет строки настраиваемого формата, возвращаемые ShortDatePattern свойствами LongTimePattern DateTimeFormatInfo и объекта, возвращаемого Thread.CurrentThread.CurrentCulture.DateTimeFormat свойством.In particular, it combines the custom format strings returned by the ShortDatePattern and LongTimePattern properties of the DateTimeFormatInfo object returned by the Thread.CurrentThread.CurrentCulture.DateTimeFormat property. Для получения дополнительной информации см. CultureInfo.CurrentCulture.For more information, see CultureInfo.CurrentCulture. Другие перегрузки ToString метода позволяют указать язык и региональные параметры, используемые при форматировании, а также определить шаблон DateTime вывода значения.Other overloads of the ToString method enable you to specify the culture whose formatting to use and to define the output pattern of the DateTime value.

Примечания для тех, кто вызывает этот метод

ToString() Метод возвращает строковое представление даты и времени в календаре, используемом текущим языком и региональными параметрами.The ToString() method returns the string representation of the date and time in the calendar used by the current culture. Если значение текущего DateTime экземпляра MinSupportedDateTime предшествует или позднее MaxSupportedDateTime, метод создает ArgumentOutOfRangeExceptionисключение.If the value of the current DateTime instance is earlier than MinSupportedDateTime or later than MaxSupportedDateTime, the method throws an ArgumentOutOfRangeException. Ниже приведен пример.The following example provides an illustration. Он пытается отформатировать дату, находящийся за пределами диапазона HijriCalendar класса, если текущий язык и региональные параметры — арабский (Сирия).It attempts to format a date that is outside the range of the HijriCalendar class when the current culture is Arabic (Syria).

[!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#2] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#2][!code-csharpSystem.DateTime.ToString.ArgumentOutOfRangeException#2] [!code-vbSystem.DateTime.ToString.ArgumentOutOfRangeException#2]

Дополнительно

Применяется к