Language

TimeSpan.ToString メソッド

定義

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

オーバーロード

名前 説明
ToString()

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

ToString(String)

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

ToString(String, IFormatProvider)

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

ToString()

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

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

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

返品

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

例

次の例では、 ToString メソッドを多数の TimeSpan 値で呼び出すことによって返される文字列を表示します。 この例では、ToString メソッドは直接呼び出されませんが、Console.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
// Initialize a time span to zero.
let span = TimeSpan.Zero
printfn $"{span}"

// Initialize a time span to 14 days.
let span = TimeSpan(-14, 0, 0, 0, 0)
printfn $"{span}"

// Initialize a time span to 1:02:03.
let span = TimeSpan(1, 2, 3)
printfn $"{span}"

// Initialize a time span to 250 milliseconds.
let span = TimeSpan(0, 0, 0, 0, 250)
printfn $"{span}"

// Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.999 seconds.
let span = TimeSpan(99, 23, 59, 59, 999)
printfn $"{span}"

// Initialize a time span to 3 hours.
let span = TimeSpan(3, 0, 0)
printfn $"{span}"

// Initialize a timespan to 25 milliseconds.
let span = TimeSpan(0, 0, 0, 0, 25)
printfn $"{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() メソッドによって返される文字列はカルチャに依存しないことに注意してください。

品目 Description
"-" 負の時間間隔を示す負符号。 正の期間の符号は含まれません。
"d" 時間間隔内の日数。 時間間隔が 1 日未満の場合、この要素は省略されます。
"hh" 時間間隔内の時間数 (0 から 23 までの範囲)。
"mm" 時間間隔内の分数 (0 から 59 までの範囲)。
"ss" 0 から 59 までの時間間隔の秒数。
"fffffff" 時間間隔の秒の小数部。 時間間隔に秒の小数部が含まれていない場合、この要素は省略されます。 存在する場合、秒の小数部は常に 7 桁の 10 進数を使用して表されます。

注意 (呼び出し元)

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

こちらもご覧ください

適用対象

ToString(String)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

指定した形式を使用して、現在の 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 書式指定文字列。

返品

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.
let spans = 
    [| TimeSpan.Zero
       TimeSpan(-14, 0, 0, 0, 0)
       TimeSpan(1, 2, 3)
       TimeSpan(0, 0, 0, 0, 250)
       TimeSpan(99, 23, 59, 59, 999)
       TimeSpan(3, 0, 0)
       TimeSpan(0, 0, 0, 0, 25) |]


let fmts = [| "c"; "g"; "G"; @"hh\:mm\:ss"; "%m' min.'" |]
for span in spans do
    for fmt in fmts do
        printfn $"{fmt}: {span.ToString fmt}"
    printfn ""
// 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が標準書式指定文字列の場合、返される文字列の書式は、現在のカルチャの書式設定規則によって定義されます。

Important

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

.NET では、次の書式設定に関するトピックで詳しく説明されている、広範な書式設定のサポートが提供されています。

こちらもご覧ください

適用対象

ToString(String, IFormatProvider)

ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs
ソース:
TimeSpan.cs

現在の 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

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

返品

TimeSpanとformatで指定された、現在のformatProvider値の文字列形式。

実装

例外

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
open System
open System.Globalization

let intervals = 
    [| TimeSpan(38, 30, 15)
       TimeSpan(16, 14, 30) |] 
let cultures = 
    [| CultureInfo "en-US"
       CultureInfo "fr-FR" |]
let formats = [| "c"; "g"; "G"; @"hh\:mm\:ss" |]
printfn $"""{"Interval",12}      Format  {cultures[0].Name,22}  {cultures[1].Name,22}\n""" 

for interval in intervals do
    for fmt in formats do
        printfn $"{interval,12}  {fmt,10}  {interval.ToString(fmt, cultures[0]),22}  {interval.ToString(fmt, cultures[1]),22}"
    printfn ""
// 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をスローします。

Important

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

.NET では、次の書式設定に関するトピックで詳しく説明されている、広範な書式設定のサポートが提供されています。

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

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

こちらもご覧ください

適用対象