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 物件值的字串表示,如 formatprovider所指定。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 DateTimeFormatInfo來格式化值的不同方式。The 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). 如果formatnull或空字串 (""), 則會使用標準格式規範 "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:

如果provider DateTimeFormatInfonull, 則會使用與目前文化特性相關聯的。If provider is null, the DateTimeFormatInfo associated with the current culture is used. 如需詳細資訊,請參閱CultureInfo.CurrentCultureFor 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.CurrentCultureToString(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. 如果formatnull或空字串, 則會使用一般格式規範 ' 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/yyyy" 格式字串。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. 例如, "MM/dd/yyyyHH: MM" 格式字串會以固定格式顯示日期和時間字串, 例如 "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. 例如, "yyyyMMdd" 格式字串會顯示四位數的年份, 後面接著兩位數的月份和兩位數的日, 沒有日期分隔符號。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:

如果provider DateTimeFormatInfonull, 則會使用與目前文化特性相關聯的物件。If provider is null, the DateTimeFormatInfo object associated with the current culture is used. 如需詳細資訊,請參閱CultureInfo.CurrentCultureFor 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 改成 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會結合Thread.CurrentThread.CurrentCulture.DateTimeFormat屬性所傳回之DateTimeFormatInfo物件的和LongTimePattern屬性所傳回的自訂格式字串。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.CurrentCultureFor more information, see CultureInfo.CurrentCulture. 方法的其他多載可讓您指定要使用其格式的文化特性, 以及定義DateTime值的輸出模式。 ToStringOther 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]

另請參閱

適用於