TimeSpan.ToString メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。
オーバーロード
ToString() |
現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。 |
ToString(String) |
指定した書式を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。 |
ToString(String, IFormatProvider) |
指定した書式とカルチャ固有の書式情報を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。 |
ToString()
- ソース:
- 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 値の文字列形式。
例
次の例では、 メソッドを多数のTimeSpan値で呼び出ToStringして返される文字列を表示します。 この例では メソッドを 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() 返される文字列はカルチャに依存しないことに注意してください。
アイテム | 説明 |
---|---|
"-" | 負符号。負の時間間隔を示します。 正の期間の符号は含まれません。 |
"d" | 時間間隔の日数。 時間間隔が 1 日未満の場合、この要素は省略されます。 |
"hh" | 0 から 23 までの時間間隔の時間数。 |
"mm" | 0 から 59 までの時間間隔の分数。 |
"ss" | 0 から 59 までの時間間隔の秒数。 |
"fffffff" | 時間間隔の秒の小数部。 時間間隔に秒の小数部が含まれていない場合、この要素は省略されます。 存在する場合、秒の小数部は常に 7 桁の 10 進数を使用して表されます。 |
注意 (呼び出し元)
.NET Framework 4 では、TimeSpan書式設定の値のサポートが追加されました。 ただし、メソッドの ToString() オーバーロードはカルチャに依存しません。 その動作は、以前のバージョンの.NET Frameworkから変更されません。 値のTimeSpan書式設定を制御するには、 または ToString(String, IFormatProvider) オーバーロードをToString(String)呼び出します。
こちらもご覧ください
適用対象
ToString(String)
- ソース:
- 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
パラメーター
戻り値
現在の 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 指定できます。 が String.Empty または の場合format
、null
現在TimeSpanのオブジェクトの戻り値は共通書式指定子 ("c") で書式設定されます。 が他の値である場合 format
、メソッドは を FormatExceptionスローします。
が標準書式指定文字列の場合 format
、返される文字列の形式は、現在のカルチャの書式設定規則によって定義されます。
重要
値の TimeSpan カスタム書式指定文字列には、日付または時刻の区切り記号は含まれません。 これらの要素を書式指定文字列に含める場合は、それらを文字リテラルとして扱う必要があります。 図の例を参照し、詳細については、「 カスタム TimeSpan 書式指定文字列 」トピックを参照してください。
.NET では、広範な書式設定のサポートが提供されています。詳細については、次の書式設定に関するトピックを参照してください。
値の TimeSpan 書式指定文字列の詳細については、「 標準 TimeSpan 書式指定文字列 」および「 カスタム TimeSpan 書式指定文字列」を参照してください。
.NET での書式設定のサポートの詳細については、「型の 書式設定」を参照してください。
こちらもご覧ください
適用対象
ToString(String, IFormatProvider)
- ソース:
- 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
パラメーター
- formatProvider
- IFormatProvider
カルチャ固有の書式情報を提供するオブジェクト。
戻り値
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
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 指定できます。 が String.Empty または の場合format
、null
現在TimeSpanのオブジェクトの戻り値は共通書式指定子 ("c") で書式設定されます。 format が他の値の場合、 メソッドは を FormatExceptionスローします。
重要
値の TimeSpan カスタム書式指定文字列には、日付または時刻の区切り記号は含まれません。 これらの要素を書式指定文字列に含める場合は、それらを文字リテラルとして扱う必要があります。 図の例を参照し、詳細については、「 カスタム TimeSpan 書式指定文字列 」トピックを参照してください。
.NET では、広範な書式設定のサポートが提供されています。詳細については、次の書式設定に関するトピックを参照してください。
値の TimeSpan 書式指定文字列の詳細については、「 標準 TimeSpan 書式指定文字列 」および「 カスタム TimeSpan 書式指定文字列」を参照してください。
.NET での書式設定のサポートの詳細については、「型の 書式設定」を参照してください。
パラメーターは formatProvider
、 IFormatProvider 返される文字列の形式に関するカルチャ固有の情報を提供する実装です。
formatProvider
パラメーターには、次のいずれかを指定できます。
CultureInfo書式設定規則が返される文字列に反映されるカルチャを表す オブジェクト。 プロパティによってCultureInfo.DateTimeFormat返される オブジェクトはDateTimeFormatInfo、返される文字列の書式設定を定義します。
DateTimeFormatInfo返される文字列の書式を定義する オブジェクト。
インターフェイスを実装する IFormatProvider カスタム オブジェクト。 そのメソッドは IFormatProvider.GetFormat 、書式設定情報を DateTimeFormatInfo 提供する オブジェクトを返します。
が null
の場合formatProvider
は、現在のDateTimeFormatInfoカルチャに関連付けられているオブジェクトが使用されます。 がカスタム書式指定文字列の場合 format
、 formatProvider
パラメーターは無視されます。
こちらもご覧ください
適用対象
.NET