TimeSpan.ToString メソッド

定義

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

オーバーロード

ToString(String, IFormatProvider)

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

ToString(String)

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

ToString()

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

ToString(String, IFormatProvider)

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

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

標準またはカスタムの TimeSpan 書式指定文字列。

formatProvider
IFormatProvider

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

戻り値

String

format および formatProvider の指定に従って表現された、現在の TimeSpan 値の文字列形式。

実装

例外

format パラメーターは、認識できないか、サポートされていません。

次の例では、メソッドを呼び出して、 ToString(String, IFormatProvider) 2 つの時間間隔を書式設定しています。 この例では、書式指定文字列ごとにメソッドを2回呼び出します。最初に、en-us カルチャの規則を使用してそれを表示し、次に fr-fr カルチャの規則を使用して表示します。

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan[] intervals = { new TimeSpan(38, 30, 15), 
                               new TimeSpan(16, 14, 30) }; 
      CultureInfo[] cultures = { new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };
      string[] formats = {"c", "g", "G", @"hh\:mm\:ss" };
      Console.WriteLine("{0,12}      Format  {1,22}  {2,22}\n", 
                        "Interval", cultures[0].Name, cultures[1].Name);

      foreach (var interval in intervals) {
         foreach (var fmt in formats)
            Console.WriteLine("{0,12}  {1,10}  {2,22}  {3,22}", 
                              interval, fmt, 
                              interval.ToString(fmt, cultures[0]), 
                              interval.ToString(fmt, cultures[1]));
         Console.WriteLine();
      }  
   }
}
// The example displays the following output:
//        Interval      Format                   en-US                   fr-FR
//    
//      1.14:30:15           c              1.14:30:15              1.14:30:15
//      1.14:30:15           g              1:14:30:15              1:14:30:15
//      1.14:30:15           G      1:14:30:15.0000000      1:14:30:15,0000000
//      1.14:30:15  hh\:mm\:ss                14:30:15                14:30:15
//    
//        16:14:30           c                16:14:30                16:14:30
//        16:14:30           g                16:14:30                16:14:30
//        16:14:30           G      0:16:14:30.0000000      0:16:14:30,0000000
//        16:14:30  hh\:mm\:ss                16:14:30                16:14:30
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim intervals() As TimeSpan = { New TimeSpan(38, 30, 15), 
                                      New TimeSpan(16, 14, 30) } 
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("fr-FR") }
      Dim formats() As String = {"c", "g", "G", "hh\:mm\:ss" }
      Console.WriteLine("{0,12}      Format  {1,22}  {2,22}", 
                        "Interval", cultures(0).Name, cultures(1).Name)
      Console.WriteLine()
      For Each interval In intervals
         For Each fmt In formats
            Console.WriteLine("{0,12}  {1,10}  {2,22}  {3,22}", 
                              interval, fmt, 
                              interval.ToString(fmt, cultures(0)), 
                              interval.ToString(fmt, cultures(1)))
         Next
         Console.WriteLine()
      Next                                                                                                                                            
   End Sub
End Module
' The example displays the following output:
'        Interval      Format                   en-US                   fr-FR
'    
'      1.14:30:15           c              1.14:30:15              1.14:30:15
'      1.14:30:15           g              1:14:30:15              1:14:30:15
'      1.14:30:15           G      1:14:30:15.0000000      1:14:30:15,0000000
'      1.14:30:15  hh\:mm\:ss                14:30:15                14:30:15
'    
'        16:14:30           c                16:14:30                16:14:30
'        16:14:30           g                16:14:30                16:14:30
'        16:14:30           G      0:16:14:30.0000000      0:16:14:30,0000000
'        16:14:30  hh\:mm\:ss                16:14:30                16:14:30

注釈

パラメーターには、 format 値の有効な標準またはカスタムの書式指定子を指定でき TimeSpan ます。 formatがまたはに等しい場合 String.Empty null 、現在のオブジェクトの戻り値 TimeSpan は共通書式指定子 ("c") で書式設定されます。 Format が他の値の場合、メソッドはをスロー FormatException します。

重要

値のカスタム書式指定文字列には、 TimeSpan 日付または時刻の区切り記号は含まれません。 これらの要素を書式指定文字列に含める場合は、それらを文字リテラルとして扱う必要があります。 図の例を参照してください。詳細については、「 カスタム TimeSpan 書式指定文字列 」を参照してください。

.NET ではさまざまな書式設定がサポートされています。詳細については、次の書式設定に関するトピックを参照してください。

パラメーターは、 formatProvider IFormatProvider 返される文字列の書式に関するカルチャ固有の情報を提供する実装です。 formatProviderパラメーターには、次のいずれかを指定できます。

がの場合は formatProvider nullDateTimeFormatInfo 現在のカルチャに関連付けられているオブジェクトが使用されます。 formatがカスタム書式指定文字列の場合、 formatProvider パラメーターは無視されます。

こちらもご覧ください

適用対象

ToString(String)

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

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

標準またはカスタムの TimeSpan 書式指定文字列。

戻り値

String

現在の TimeSpan 値の文字列形式を、format パラメーターで指定されている形式で表現した値。

例外

format パラメーターは、認識できないか、サポートされていません。

次の例では、標準の TimeSpan 書式指定文字列とカスタム書式指定文字列を使用して、値の配列内の各要素の文字列形式を表示します。 TimeSpan

TimeSpan[] spans = { 
   TimeSpan.Zero, 
   new TimeSpan(-14, 0, 0, 0, 0), 
   new TimeSpan(1, 2, 3), 
   new TimeSpan(0, 0, 0, 0, 250), 
   new TimeSpan(99, 23, 59, 59, 999),
   new TimeSpan(3, 0, 0), 
   new TimeSpan(0, 0, 0, 0, 25) 
};

string[] fmts = { "c", "g", "G", @"hh\:mm\:ss", "%m' min.'" };
foreach (TimeSpan span in spans)
{
   foreach (string fmt in fmts)
      Console.WriteLine("{0}: {1}", fmt, span.ToString(fmt));

   Console.WriteLine();
}
// The example displays the following output:
//       c: 00:00:00
//       g: 0:00:00
//       G: 0:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: -14.00:00:00
//       g: -14:0:00:00
//       G: -14:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 01:02:03
//       g: 1:02:03
//       G: 0:01:02:03.0000000
//       hh\:mm\:ss: 01:02:03
//       %m' min.': 2 min.
//       
//       c: 00:00:00.2500000
//       g: 0:00:00.25
//       G: 0:00:00:00.2500000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 99.23:59:59.9990000
//       g: 99:23:59:59.999
//       G: 99:23:59:59.9990000
//       hh\:mm\:ss: 23:59:59
//       %m' min.': 59 min.
//       
//       c: 03:00:00
//       g: 3:00:00
//       G: 0:03:00:00.0000000
//       hh\:mm\:ss: 03:00:00
//       %m' min.': 0 min.
//       
//       c: 00:00:00.0250000
//       g: 0:00:00.025
//       G: 0:00:00:00.0250000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
Module Example
   Public Sub Main()
      Dim spans() As TimeSpan = { TimeSpan.Zero, New TimeSpan(-14, 0, 0, 0, 0), 
                                  New TimeSpan(1, 2, 3), 
                                  New TimeSpan(0, 0, 0, 0, 250), 
                                  New TimeSpan(99, 23, 59, 59, 999),
                                  New TimeSpan(3, 0, 0), 
                                  New TimeSpan(0, 0, 0, 0, 25) }
      Dim fmts() As String = { "c", "g", "G", "hh\:mm\:ss", "%m' min.'" }
      For Each span As TimeSpan In spans
         For Each fmt As String In fmts
            Console.WriteLine("{0}: {1}", fmt, span.ToString(fmt))
         Next
         Console.WriteLine()         
      Next
   End Sub
End Module
' The example displays the following output:
'       c: 00:00:00
'       g: 0:00:00
'       G: 0:00:00:00.0000000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: -14.00:00:00
'       g: -14:0:00:00
'       G: -14:00:00:00.0000000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: 01:02:03
'       g: 1:02:03
'       G: 0:01:02:03.0000000
'       hh\:mm\:ss: 01:02:03
'       %m' min.': 2 min.
'       
'       c: 00:00:00.2500000
'       g: 0:00:00.25
'       G: 0:00:00:00.2500000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: 99.23:59:59.9990000
'       g: 99:23:59:59.999
'       G: 99:23:59:59.9990000
'       hh\:mm\:ss: 23:59:59
'       %m' min.': 59 min.
'       
'       c: 03:00:00
'       g: 3:00:00
'       G: 0:03:00:00.0000000
'       hh\:mm\:ss: 03:00:00
'       %m' min.': 0 min.
'       
'       c: 00:00:00.0250000
'       g: 0:00:00.025
'       G: 0:00:00:00.0250000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.

注釈

パラメーターには、 format 値の有効な標準またはカスタムの書式指定子を指定でき TimeSpan ます。 formatがまたはに等しい場合 String.Empty null 、現在のオブジェクトの戻り値 TimeSpan は共通書式指定子 ("c") で書式設定されます。 formatがその他の値の場合、メソッドはをスロー FormatException します。

formatが標準書式指定文字列の場合、返される文字列の形式は、現在のカルチャの書式指定規則によって定義されます。

重要

値のカスタム書式指定文字列には、 TimeSpan 日付または時刻の区切り記号は含まれません。 これらの要素を書式指定文字列に含める場合は、それらを文字リテラルとして扱う必要があります。 図の例を参照してください。詳細については、「 カスタム TimeSpan 書式指定文字列 」を参照してください。

.NET ではさまざまな書式設定がサポートされています。詳細については、次の書式設定に関するトピックを参照してください。

こちらもご覧ください

適用対象

ToString()

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

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

戻り値

String

現在の TimeSpan 値の文字列形式。

次の例では、複数の値を指定してメソッドを呼び出すことによって返される文字列を表示し ToString TimeSpan ます。 この例ではメソッドを直接呼び出すことはできませんが ToStringConsole.WriteLine 値を文字列形式に変換しようとすると、メソッドによって呼び出され TimeSpan ます。

 TimeSpan span;
 
 // Initialize a time span to zero.
 span = TimeSpan.Zero;
 Console.WriteLine(span);

 // Initialize a time span to 14 days.
 span = new TimeSpan(-14, 0, 0, 0, 0);
 Console.WriteLine(span);

 // Initialize a time span to 1:02:03.
 span = new TimeSpan(1, 2, 3);
 Console.WriteLine(span);

 // Initialize a time span to 250 milliseconds.
 span = new TimeSpan(0, 0, 0, 0, 250);
 Console.WriteLine(span);
 
 // Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.999 seconds.
 span = new TimeSpan(99, 23, 59, 59, 999);
 Console.WriteLine(span);
 
 // Initialize a time span to 3 hours.
 span = new TimeSpan(3, 0, 0);
 Console.WriteLine(span);
 
 // Initialize a timespan to 25 milliseconds.
 span = new TimeSpan(0, 0, 0, 0, 25);
 Console.WriteLine(span);

 // The example displays the following output:
 //       00:00:00
 //       -14.00:00:00
 //       01:02:03
 //       00:00:00.2500000
 //       99.23:59:59.9990000
 //       03:00:00
 //       00:00:00.0250000
Module ToString
   Public Sub Main()
      Dim span As TimeSpan
      
      ' Initialize a time span to zero.
      span = TimeSpan.Zero
      Console.WriteLine(span)
      
      ' Initialize a time span to 14 days.
      span = New TimeSpan(-14, 0, 0, 0, 0)
      Console.WriteLine(span)
     
      ' Initialize a time span to 1:02:03.
      span = New TimeSpan(1, 2, 3)
      Console.WriteLine(span)
      
      
      ' Initialize a time span to 250 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 250)
      Console.WriteLine(span)
      
      ' Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.9999999 seconds.
      span = New TimeSpan(99, 23, 59, 59, 999)
      Console.WriteLine(span)
      
      ' Initialize a time span to 3 hours.
      span = New TimeSpan(3, 0, 0)
      Console.WriteLine(span)
      
      ' Initialize a timespan to 25 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 25)
      Console.WriteLine(span)
   End Sub
End Module
' The example displays the following output:
'       00:00:00
'       -14.00:00:00
'       01:02:03
'       00:00:00.2500000
'       99.23:59:59.9990000
'       03:00:00
'       00:00:00.0250000

注釈

返される文字列は、"c" 書式指定子を使用して書式設定され、次の形式になります。

[-][d.]hh:mm:ss[.fffffff]

角かっこ ([および]) 内の要素は、返される文字列に含めることはできません。 コロンとピリオド (: および.) は、リテラル文字です。 次の表に、リテラル以外の要素を示します。 メソッドによって返される文字列 ToString() は、カルチャに依存しないことに注意してください。

アイテム 説明
"-" 負の時間間隔を示すマイナス記号。 正の期間には符号が含まれていません。
"d" 時間間隔の日数。 時間間隔が1日未満の場合、この要素は省略されます。
"hh" 時間間隔の時間数を0から23までの範囲で指定します。
"mm" 時間間隔の分数を 0 ~ 59 の範囲で指定します。
"ss" 時間間隔の秒数。 0 ~ 59 の範囲で指定します。
"fffffff" 時間間隔の秒の小数部。 時間間隔に秒の小数部が含まれていない場合、この要素は省略されます。 秒の小数部がある場合は、常に7桁の10進数を使用して表されます。

注意 (呼び出し元)

TimeSpan.NET Framework 4 で、値の書式設定のサポートが追加されました。 ただし、 ToString() メソッドのオーバーロードはカルチャに依存しません。 その動作は、以前のバージョンの .NET Framework から変更されていません。 値の書式設定を制御するに TimeSpan は、 ToString(String) またはのオーバーロードを呼び出し ToString(String, IFormatProvider) ます。

こちらもご覧ください

適用対象