DateTimeOffset.ToString メソッド

定義

現在の DateTimeOffset オブジェクトの値を等価の文字列形式に変換します。

オーバーロード

ToString()

現在の DateTimeOffset オブジェクトの値を等価の文字列形式に変換します。

ToString(IFormatProvider)

指定したカルチャ固有の書式情報を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価な文字列形式に変換します。

ToString(String)

指定した書式を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価な文字列形式に変換します。

ToString(String, IFormatProvider)

指定した書式およびカルチャ固有の書式情報を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価の文字列形式に変換します。

ToString()

現在の DateTimeOffset オブジェクトの値を等価の文字列形式に変換します。

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

戻り値

String

DateTimeOffset オブジェクトの文字列形式。文字列の末尾にオフセットが追加されています。

例外

日時が、現在のカルチャで使用されるカレンダーでサポートされている日付の範囲外です。

次の例は、メソッドの呼び出しを ToString() 示し、現在のカルチャが en-us であるシステムにその出力を表示します。

DateTimeOffset thisDate;

// Show output for UTC time
thisDate = DateTimeOffset.UtcNow;
Console.WriteLine(thisDate.ToString());  // Displays 3/28/2007 7:13:50 PM +00:00

// Show output for local time
thisDate = DateTimeOffset.Now;
Console.WriteLine(thisDate.ToString());  // Displays 3/28/2007 12:13:50 PM -07:00

// Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0));
Console.WriteLine(thisDate.ToString());  // Displays 3/28/2007 2:13:50 PM -05:00
// Show output for UTC time
let thisDate = DateTimeOffset.UtcNow
printfn $"{thisDate.ToString()}"  // Displays 3/28/2007 7:13:50 PM +00:00

// Show output for local time
let thisDate = DateTimeOffset.Now
printfn $"{thisDate.ToString()}"  // Displays 3/28/2007 12:13:50 PM -07:00

// Show output for arbitrary time offset
let thisDate = thisDate.ToOffset(TimeSpan(-5, 0, 0))
printfn $"{thisDate.ToString()}"  // Displays 3/28/2007 2:13:50 PM -05:00
Dim thisDate As DateTimeOffset

' Show output for UTC time
thisDate = DateTimeOffset.UtcNow
Console.WriteLine(thisDate.ToString())  ' Displays 3/28/2007 7:13:50 PM +00:00

' Show output for local time 
thisDate = DateTimeOffset.Now
Console.WriteLine(thisDate.ToString())  ' Displays 3/28/2007 12:13:50 PM -07:00

' Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0))
Console.WriteLine(thisDate.ToString())  ' Displays 3/28/2007 2:13:50 PM -05:00

注釈

このメソッドの戻り値はメソッドの DateTime.ToString() 戻り値と同じですが、スペースの後に文字列の末尾にオフセットが追加される点が異なります。 つまり、短い日付パターン、長い時間パターン、カスタム書式指定文字列を使用して出力を書式設定し zzz 、各要素を前の要素からスペースで区切ります。 たとえば、2008 年 1 月 12 日午後 6:15:50 の値を返す場合 DateTime.ToString()ToString() 協定世界時 (UTC) から 8 時間遅れている時刻の 2008 年 1 月 12 日午後 6:15:50 -08:00 の値を返します。

このメソッドは、現在のカルチャから派生した書式設定情報を使用します。 詳細については、「CurrentCulture」を参照してください。 メソッドのその他の ToString オーバーロードを使用すると、書式設定を使用するカルチャを指定し、値の出力パターンを DateTimeOffset 定義できます。

注意 (呼び出し元)

このメソッドは ToString() 、現在のカルチャで使用されるカレンダーの日付と時刻の文字列表現を返します。 現在 DateTimeOffset のインスタンスの値がそれより前 MinSupportedDateTime またはそれより後 MaxSupportedDateTimeの場合、メソッド ArgumentOutOfRangeExceptionは . 具体的な例を次に示します。 現在のカルチャがアラビア語 (シリア) の場合、クラスの範囲外の HijriCalendar 日付を書式設定しようとします。

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

public class Example
{
   public static void Main()
   {
      DateTimeOffset date1 = new DateTimeOffset(new DateTime(550, 1, 1),
                                                TimeSpan.Zero);
      CultureInfo dft;
      CultureInfo arSY = new CultureInfo("ar-SY");
      arSY.DateTimeFormat.Calendar = new HijriCalendar();

      // Change current culture to ar-SY.
      dft = Thread.CurrentThread.CurrentCulture;
      Thread.CurrentThread.CurrentCulture = arSY;

      // Display the date using the current culture's calendar.
      try {
         Console.WriteLine(date1.ToString());
      }
      catch (ArgumentOutOfRangeException) {
         Console.WriteLine("{0} is earlier than {1} or later than {2}",
                           date1.ToString("d", CultureInfo.InvariantCulture),
                           arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
                           arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
      }

      // Restore the default culture.
      Thread.CurrentThread.CurrentCulture = dft;
   }
}
// The example displays the following output:
//    01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999

適用対象

ToString(IFormatProvider)

指定したカルチャ固有の書式情報を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価な文字列形式に変換します。

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

パラメーター

formatProvider
IFormatProvider

カルチャ固有の書式情報を提供するオブジェクト。

戻り値

String

formatProvider により指定された、現在の DateTimeOffset オブジェクトの値の文字列形式。

例外

日時が、formatProvider で使用されるカレンダーでサポートされている日付の範囲外です。

次の例では、 DateTimeOffset インバリアント カルチャを表すオブジェクトと、他の 4 つのカルチャを使用して CultureInfo オブジェクトを表示します。

CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
                                           new CultureInfo("en-us"),
                                           new CultureInfo("fr-fr"),
                                           new CultureInfo("de-DE"),
                                           new CultureInfo("es-ES")};

DateTimeOffset thisDate = new DateTimeOffset(2007, 5, 1, 9, 0, 0,
                                             TimeSpan.Zero);

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/2007 09:00:00 +00:00
//    In en-US, 5/1/2007 9:00:00 AM +00:00
//    In fr-FR, 01/05/2007 09:00:00 +00:00
//    In de-DE, 01.05.2007 09:00:00 +00:00
//    In es-ES, 01/05/2007 9:00:00 +00:00
let cultures = 
    [| CultureInfo.InvariantCulture
       CultureInfo "en-us"
       CultureInfo "fr-fr"
       CultureInfo "de-DE"
       CultureInfo "es-ES" |]

let thisDate = DateTimeOffset(2007, 5, 1, 9, 0, 0, TimeSpan.Zero)

for culture in cultures do
    let cultureName = 
        if String.IsNullOrEmpty culture.Name then
            culture.NativeName
        else
            culture.Name
    printfn $"In {cultureName}, {thisDate.ToString culture}"

// The example produces the following output:
//    In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
//    In en-US, 5/1/2007 9:00:00 AM +00:00
//    In fr-FR, 01/05/2007 09:00:00 +00:00
//    In de-DE, 01.05.2007 09:00:00 +00:00
//    In es-ES, 01/05/2007 9:00:00 +00:00
     Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
                                      New CultureInfo("en-us"), _
                                      New CultureInfo("fr-fr"), _
                                      New CultureInfo("de-DE"), _
                                      New CultureInfo("es-ES")}

     Dim thisDate As New DateTimeOffset(#5/1/2007 9:00AM#, TimeSpan.Zero)                                            

     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                                            
     ' The example produces the following output:
     '    In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
     '    In en-US, 5/1/2007 9:00:00 AM +00:00
     '    In fr-FR, 01/05/2007 09:00:00 +00:00
     '    In de-DE, 01.05.2007 09:00:00 +00:00
     '    In es-ES, 01/05/2007 9:00:00 +00:00

注釈

このメソッドの戻り値は、文字列の末尾にスペースとそれに続くオフセットが含まれる点を除き、メソッドの同等のオーバーロード DateTime.ToString の戻り値と同じです。 つまり、短い日付パターン、長い時間パターン、カスタム書式指定文字列を使用して出力を書式設定し zzz 、各要素を前の要素からスペースで区切ります。

これら 3 つの要素の形式は、パラメーターによって formatProvider 定義されます。 パラメーターには formatProvider 、次のいずれかを指定できます。

  • CultureInfo返された文字列に書式設定規則が適用されるカルチャを表すオブジェクト。 プロパティによってCultureInfo.DateTimeFormat返されるオブジェクトはDateTimeFormatInfo、返される文字列の書式設定を定義します。

  • DateTimeFormatInfo日付と時刻のデータの形式を定義するオブジェクト。

の場合 formatProvidernull、現在の DateTimeFormatInfo カルチャに関連付けられているオブジェクトが使用されます (参照 CurrentCulture)。

注意 (呼び出し元)

このメソッドは ToString(IFormatProvider) 、パラメーターで表されるカルチャによって使用されるカレンダー内の日付と時刻の文字列表現を formatProvider 返します。 そのカレンダーは、プロパティによって定義されます Calendar 。 現在 DateTimeOffset のインスタンスの値がそれより前 MinSupportedDateTime またはそれより後 MaxSupportedDateTimeの場合、メソッド ArgumentOutOfRangeExceptionは . 具体的な例を次に示します。 クラスの範囲外の日付の書式設定を JapaneseCalendar 試みます。

::code language="csharp" source="~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception1.cs" interactive="try-dotnet" id="Snippet1"::: ::code language="fsharp" source="~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception1.fs" id="Snippet1"::: ::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception1.vb" id="Snippet1":::

適用対象

ToString(String)

指定した書式を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価な文字列形式に変換します。

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

パラメーター

format
String

書式指定文字列。

戻り値

String

format により指定された、現在の DateTimeOffset オブジェクトの値の文字列形式。

例外

format の長さは 1 であり、DateTimeFormatInfo で定義されている標準書式指定子文字の 1 つではありません。

  • または -

format には有効なカスタム書式パターンがありません。

日時が、現在のカルチャで使用されるカレンダーでサポートされている日付の範囲外です。

次の例では、 DateTimeOffset 標準の日時書式指定子を使用してオブジェクトをコンソールに表示します。 出力は、en-us カルチャを使用して書式設定されます。

DateTimeOffset outputDate = new DateTimeOffset(2007, 10, 31, 21, 0, 0,
                                     new TimeSpan(-8, 0, 0));
string specifier;

// Output date using each standard date/time format specifier
specifier = "d";
// Displays   d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "D";
// Displays   D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "t";
// Displays   t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "T";
// Displays   T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "f";
// Displays   f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "F";
// Displays   F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "g";
// Displays   g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "G";
// Displays   G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "M";           // 'm' is identical
// Displays   M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "R";           // 'r' is identical
// Displays   R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "s";
// Displays   s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

specifier = "u";
// Displays   u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));

// Specifier is not supported
specifier = "U";
try
{
   Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
}
catch (FormatException)
{
   Console.WriteLine("{0}: Not supported.", specifier);
}

specifier = "Y";         // 'y' is identical
// Displays   Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
let outputDate = DateTimeOffset(2007, 10, 31, 21, 0, 0, TimeSpan(-8, 0, 0))

// Output date using each standard date/time format specifier
let specifier = "d"
// Displays   d: 10/31/2007
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "D"
// Displays   D: Wednesday, October 31, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "t"
// Displays   t: 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "T"
// Displays   T: 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "f"
// Displays   f: Wednesday, October 31, 2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "F"
// Displays   F: Wednesday, October 31, 2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "g"
// Displays   g: 10/31/2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "G"
// Displays   G: 10/31/2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "M"           // 'm' is identical
// Displays   M: October 31
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "R"           // 'r' is identical
// Displays   R: Thu, 01 Nov 2007 05:00:00 GMT
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "s"
// Displays   s: 2007-10-31T21:00:00
printfn $"{specifier}: {outputDate.ToString specifier}"

let specifier = "u"
// Displays   u: 2007-11-01 05:00:00Z
printfn $"{specifier}: {outputDate.ToString specifier}"

// Specifier is not supported
let specifier = "U"
try
    printfn $"{specifier}: {outputDate.ToString specifier}"
with :? FormatException ->
    printfn $"{specifier}: Not supported."

let specifier = "Y"         // 'y' is identical
// Displays   Y: October, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
Dim outputDate As New DateTimeOffset(#10/31/2007 9:00PM#, _
                                     New TimeSpan(-8, 0, 0))
Dim specifier As String 
      
' Output date using each standard date/time format specifier
specifier = "d"
' Displays   d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "D"
' Displays   D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "t"
' Displays   t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "T"
' Displays   T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "f"
' Displays   f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "F"
' Displays   F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "g"
' Displays   g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "G"
' Displays   G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "M"           ' 'm' is identical
' Displays   M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "R"           ' 'r' is identical
' Displays   R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "s"
' Displays   s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

specifier = "u"
' Displays   u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 

' Specifier is not supported
specifier = "U"
Try
   Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier)) 
Catch e As FormatException
   Console.WriteLine("{0}: Not supported.", specifier)   
End Try

specifier = "Y"         ' 'y' is identical
' Displays   Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))

注釈

パラメーターには format 、1 つの書式指定文字 ( 標準の日付と時刻の書式指定文字列を参照) または返される文字列の形式を定義するカスタム書式指定パターン ( カスタム日時書式指定文字列を参照) を含める必要があります。 null または空の文字列 ("") DateTimeOffset の場合format、値は既定の形式を使用して出力されます。

次の表に、特定の書式指定子を使用する場合の正確な操作を DateTimeOffset示します。これは、使用時 DateTimeの動作とは異なります。

既存の書式指定子 新しい動作
"K" 日付と時刻を往復するように設計されています。 を指定すると DateTimeOffset、"zzz" にマップされます (オフセットは常に時間と分で表示されます)。 "K" はカスタム書式指定子であることに注意してください。では 1 文字 formatとして表示できません。
"U" サポートされていません。
"r" オブジェクトを DateTimeOffset 協定世界時 (UTC) に変換し、カスタム書式指定文字列 ddd, dd MMM yyyy HH:mm:ss GMTを使用して出力します。
"u" オブジェクトを DateTimeOffset UTC に変換し、形式 yyyy-MM-dd HH:mm:ssZを使用して出力します。

残りの標準日時書式指定子は、メソッドToStringToString(String)同じように動作します。

このメソッドは、現在のカルチャから派生した書式設定情報を使用します。 詳細については、「CurrentCulture」を参照してください。

注意 (呼び出し元)

このメソッドは ToString(String) 、現在のカルチャで使用されるカレンダー内の日付と時刻の文字列表現を返します。 現在 DateTimeOffset のインスタンスの値がそれより前 MinSupportedDateTime またはそれより後 MaxSupportedDateTimeの場合、メソッド ArgumentOutOfRangeExceptionは . 具体的な例を次に示します。 現在のカルチャがヘブライ語 (イスラエル) の場合、クラスの範囲外の HebrewCalendar 日付を書式設定しようとします。

::code language="csharp" source="~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception3.cs" interactive="try-dotnet" id="Snippet3"::: ::code language="fsharp" source="~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception3.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception3.vb" id="Snippet3"::

こちらもご覧ください

適用対象

ToString(String, IFormatProvider)

指定した書式およびカルチャ固有の書式情報を使用して、現在の DateTimeOffset オブジェクトの値をそれと等価の文字列形式に変換します。

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

パラメーター

format
String

書式指定文字列。

formatProvider
IFormatProvider

カルチャ固有の書式情報を提供するオブジェクト。

戻り値

String

format および provider により指定された、現在の DateTimeOffset オブジェクトの値の文字列形式。

実装

例外

format の長さは 1 であり、DateTimeFormatInfo で定義されている標準書式指定子文字の 1 つではありません。

  • または -

format には有効なカスタム書式パターンがありません。

日時が、formatProvider で使用されるカレンダーでサポートされている日付の範囲外です。

次の例では、メソッドを ToString(String, IFormatProvider) 使用して、複数の DateTimeOffset 異なるカルチャのカスタム書式指定文字列を使用してオブジェクトを表示します。

DateTimeOffset outputDate = new DateTimeOffset(2007, 11, 1, 9, 0, 0,
                                     new TimeSpan(-7, 0, 0));
string format = "dddd, MMM dd yyyy HH:mm:ss zzz";

// Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, null as DateTimeFormatInfo));
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture));
Console.WriteLine(outputDate.ToString(format,
                                      new CultureInfo("fr-FR")));
Console.WriteLine(outputDate.ToString(format,
                                      new CultureInfo("es-ES")));
// The example displays the following output to the console:
//    Thursday, Nov 01 2007 09:00:00 -07:00
//    Thursday, Nov 01 2007 09:00:00 -07:00
//    jeudi, nov. 01 2007 09:00:00 -07:00
//    jueves, nov 01 2007 09:00:00 -07:00
let outputDate = DateTimeOffset(2007, 11, 1, 9, 0, 0, TimeSpan(-7, 0, 0))
let format = "dddd, MMM dd yyyy HH:mm:ss zzz"

// Output date and time using custom format specification
printfn $"{outputDate.ToString(format, null)}"
printfn $"{outputDate.ToString(format, CultureInfo.InvariantCulture)}"
printfn $"""{outputDate.ToString(format, CultureInfo "fr-FR")}"""
printfn $"""{outputDate.ToString(format, CultureInfo "es-ES")}"""

// The example displays the following output to the console:
//    Thursday, Nov 01 2007 09:00:00 -07:00
//    Thursday, Nov 01 2007 09:00:00 -07:00
//    jeudi, nov. 01 2007 09:00:00 -07:00
//    jueves, nov 01 2007 09:00:00 -07:00
Dim outputDate As New DateTimeOffset(#11/1/2007 9:00AM#, _
                                     New TimeSpan(-7, 0, 0)) 
Dim format As String = "dddd, MMM dd yyyy HH:mm:ss zzz"

' Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, Nothing))
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture))
Console.WriteLine(outputDate.ToString(format, _
                                      New CultureInfo("fr-FR")))
Console.WriteLine(outputDate.ToString(format, _
                                      New CultureInfo("es-ES")))
' The example displays the following output to the console:
'    Thursday, Nov 01 2007 09:00:00 -07:00
'    Thursday, Nov 01 2007 09:00:00 -07:00
'    jeudi, nov. 01 2007 09:00:00 -07:00
'    jueves, nov 01 2007 09:00:00 -07:00

注釈

パラメーターには format 、1 つの書式指定文字 ( 標準の日付と時刻の書式指定文字列を参照) またはカスタム書式指定パターン ( 「カスタム日時書式指定文字列」を参照) を含める必要があります。 null または空の文字列 ("") DateTimeOffset の場合format、オブジェクトは既定の形式を使用して出力されます。

次の表に、特定の書式指定子を使用する場合の正確な操作を DateTimeOffset示します。これは、使用時 DateTimeの動作とは異なります。

既存の書式指定子 新しい動作
"K" 日付と時刻を往復するように設計されています。 を指定すると DateTimeOffset、"zzz" にマップされます (オフセットは常に時間と分で表示されます)。 "K" はカスタム書式指定子であることに注意してください。では 1 文字 formatとして表示できません。
"U" サポートされていません。
"r" オブジェクトを DateTimeOffset 協定世界時 (UTC) に変換し、カスタム書式指定文字列 ddd, dd MMM yyyy HH:mm:ss GMTを使用して出力します。
"u" 値を DateTimeOffset UTC に変換し、形式 yyyy-MM-dd HH:mm:ssZを使用して出力します。

残りの標準日時書式指定子は、メソッドToStringToString(String)同じように動作します。

標準書式指定子に対応するパターン、および日付と時刻のコンポーネントのシンボルと名前は、パラメーターによって formatProvider 定義されます。 パラメーターには formatProvider 、次のいずれかを指定できます。

の場合 formatProvidernull、現在の DateTimeFormatInfo カルチャに関連付けられているオブジェクトが使用されます (参照 CurrentCulture)。

注意 (呼び出し元)

このメソッドは ToString(String, IFormatProvider) 、パラメーターで使用されるカレンダーの日付と時刻の文字列表現を formatProvider 返します。 そのカレンダーは、プロパティによって定義されます Calendar 。 現在 DateTimeOffset のインスタンスの値がそれより前 MinSupportedDateTime またはそれより後 MaxSupportedDateTimeの場合、メソッド ArgumentOutOfRangeExceptionは . 具体的な例を次に示します。 クラスの範囲外の日付の書式設定を UmAlQuraCalendar 試みます。

::code language="csharp" source="~/snippets/csharp/System/DateTimeOffset/ToString/datetimeoffset.tostring.argumentoutofrangeexception4.cs" id="Snippet4"::: :::code language="fsharp" source="~/snippets/fsharp/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/fs/datetimeoffset.tostring.argumentoutofrangeexception4.fs" id="Snippet4":::::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.datetimeoffset.tostring.argumentoutofrangeexception/vb/datetimeoffset.tostring.argumentoutofrangeexception4.vb" id="Snippet4":::

こちらもご覧ください

適用対象