DateTime.ToString メソッド

定義

現在の DateTime オブジェクトの値を等価の文字列形式に変換します。Converts the value of the current DateTime object to its equivalent string representation.

オーバーロード

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)

指定した形式および現在のカルチャの書式指定規則を使用して、現在の 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)

指定したカルチャ固有の書式情報を使用して、現在の DateTime オブジェクトの値をそれと等価な文字列形式に変換します。Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

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)

指定した書式およびカルチャ固有の書式情報を使用して、現在の 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

標準またはカスタムの日時書式指定文字列。A standard or custom date and time format string.

provider
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 で定義されている書式指定文字の 1 つではありません。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.

次の例では、標準の日時書式指定文字列を使用して、4つの異なるカルチャの日付と時刻の文字列形式を表示しています。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

次の例では、インバリアント DateTimeFormatInfo を使用して @no__t 0 値を書式設定するさまざまな方法を示します。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.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
End Class

注釈

@No__t-0 パラメーターには、1つの書式指定子文字 (標準の日付と時刻の書式指定文字列を参照) またはカスタム書式パターン (「カスタム日時書式指定文字列」を参照) のいずれかを含めることができます。The 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). @No__t-0 @no__t が-1 または空の文字列 ("") の場合、標準書式指定子 "G" が使用されます。If format is null or an empty string (""), the standard format specifier, "G", is used.

@No__t-0 パラメーターは、標準書式指定子に対応するパターン、および日付と時刻のコンポーネントのシンボルと名前を定義します。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:

  • 返される文字列に書式指定規則が反映されるカルチャを表す @no__t 0 オブジェクト。A CultureInfo object that represents the culture whose formatting conventions are to be reflected in the returned string. @No__t-1 プロパティによって返される @no__t 0 オブジェクトは、返される文字列の書式を定義します。The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the formatting of the returned string.

  • 日付と時刻のデータの形式を定義する @no__t 0 オブジェクト。A DateTimeFormatInfo object that defines the format of date and time data.

  • @No__t-0 インターフェイスを実装するカスタムオブジェクト。A custom object that implements the IFormatProvider interface. @No__t-0 メソッドは、書式設定情報を提供する @no__t 1 オブジェクトを返します。Its GetFormat method returns a DateTimeFormatInfo object that provides formatting information.

@No__t-0 が null の場合、現在のカルチャに関連付けられている DateTimeFormatInfo が使用されます。If provider is null, the DateTimeFormatInfo associated with the current culture is used. 詳細については、「CultureInfo.CurrentCulture」を参照してください。For more information, see CultureInfo.CurrentCulture.

注意 (呼び出し元)

@No__t-0 メソッドは、provider パラメーターで使用される暦の日付と時刻の文字列形式を返します。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. @No__t-0 クラスの範囲外の日付の書式を設定しようとします。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)

指定した形式および現在のカルチャの書式指定規則を使用して、現在の 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

標準またはカスタムの日時書式指定文字列。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 で定義されている書式指定文字の 1 つではありません。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.

次の例では、標準の日時書式指定文字列とカスタム日時書式指定文字列の選択を使用して、@no__t 0 値の文字列形式を表示します。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

注釈

@No__t-0 メソッドは、現在のカルチャの書式指定規則を使用する特定の形式の日付と時刻の値の文字列形式を返します。詳細については、「CultureInfo.CurrentCulture」を参照してください。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.

@No__t-0 パラメーターには、返される文字列の形式を定義する1つの書式指定子文字 (標準の日付と時刻の書式指定文字列を参照) またはカスタム書式パターン (「カスタム日時書式指定文字列」を参照) のいずれかを含める必要があります。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. @No__t-0 @no__t が-1 または空の文字列の場合は、一般的な書式指定子 ' 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.

  • Month と year のみを含む文字列を取得します。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" 書式指定文字列では、4桁の年、2桁の月、および日付の区切り記号のない2桁の日が表示されます。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.

次の例では、これら3つの書式指定文字列を使用して、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

注意 (呼び出し元)

@No__t-0 メソッドは、現在のカルチャで使用されている暦での日付と時刻の文字列形式を返します。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)

指定したカルチャ固有の書式情報を使用して、現在の DateTime オブジェクトの値をそれと等価な文字列形式に変換します。Converts the value of the current DateTime object to its equivalent string representation using the specified culture-specific format information.

public:
 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

カルチャ固有の書式情報を提供するオブジェクト。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.

次の例では、5つの異なるカルチャを表す @no__t 0 オブジェクトを使用して、日付と時刻の文字列形式を表示します。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:

  • 返される文字列に書式指定規則が反映されるカルチャを表す @no__t 0 オブジェクト。A CultureInfo object that represents the culture whose formatting conventions are to be reflected in the returned string. @No__t-1 プロパティによって返される @no__t 0 オブジェクトは、返される文字列の書式を定義します。The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the formatting of the returned string.

  • 日付と時刻のデータの形式を定義する @no__t 0 オブジェクト。A DateTimeFormatInfo object that defines the format of date and time data.

  • @No__t-0 インターフェイスを実装するカスタムオブジェクト。A custom object that implements the IFormatProvider interface. @No__t-0 メソッドは、書式設定情報を提供する @no__t 1 オブジェクトを返します。Its GetFormat method returns a DateTimeFormatInfo object that provides formatting information.

@No__t-0 が null の場合、現在のカルチャに関連付けられている DateTimeFormatInfo オブジェクトが使用されます。If provider is null, the DateTimeFormatInfo object associated with the current culture is used. 詳細については、「CultureInfo.CurrentCulture」を参照してください。For more information, see CultureInfo.CurrentCulture.

注意 (呼び出し元)

@No__t-0 メソッドは、provider パラメーターによって表されるカルチャによって使用される暦での日付と時刻の文字列形式を返します。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. @No__t-0 クラスの範囲外の日付の書式を設定しようとします。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()

現在のカルチャの書式指定規則を使用して、現在の 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.

次の例は、ToString() メソッドによって返される @no__t 0 値の文字列形式が、スレッドの現在のカルチャによってどのように異なるかを示しています。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. 特に、Thread.CurrentThread.CurrentCulture.DateTimeFormat プロパティによって返される DateTimeFormatInfo オブジェクトの @no__t 0 および @no__t プロパティによって返されるカスタム書式指定文字列を結合します。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. @No__t-0 メソッドの他のオーバーロードを使用すると、書式設定を使用するカルチャを指定し、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.

注意 (呼び出し元)

@No__t-0 メソッドは、現在のカルチャで使用されている暦での日付と時刻の文字列形式を返します。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]

こちらもご覧ください

適用対象