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
Параметры
- formatProvider
- IFormatProvider
Объект, предоставляющий сведения о форматировании для определенного языка и региональных параметров.
Возвращаемое значение
Строковое представление текущего значения TimeSpan в виде, заданном параметрами format
и formatProvider
.
Реализации
Исключения
Параметр format
не распознается или не поддерживается.
Примеры
В следующем примере метод вызывается ToString(String, IFormatProvider) для форматирования двух временных интервалов. В примере метод дважды вызывается для каждой строки формата, сначала для его вывода с использованием правил языка и региональных параметров 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 обеспечивает обширную поддержку форматирования, которая подробно описывается в следующих разделах форматирования:
Дополнительные сведения о строках формата для TimeSpan значений см. в разделе строки стандартного формата TimeSpan и строки настраиваемого формата TimeSpan.
Дополнительные сведения о поддержке форматирования в .NET см. в разделе Типы форматирования.
formatProvider
Параметр — это IFormatProvider реализация, которая предоставляет сведения о формате возвращаемой строки, зависящей от языка и региональных параметров. formatProvider
Параметр может быть любым из следующих:
CultureInfoОбъект, представляющий язык и региональные параметры, соглашения о форматировании которых должны быть отражены в возвращаемой строке. DateTimeFormatInfoОбъект, возвращаемый CultureInfo.DateTimeFormat свойством, определяет форматирование возвращаемой строки.
DateTimeFormatInfoОбъект, определяющий форматирование возвращаемой строки.
Пользовательский объект, реализующий IFormatProvider интерфейс. Его IFormatProvider.GetFormat метод возвращает DateTimeFormatInfo объект, предоставляющий сведения о форматировании.
Если formatProvider
имеет значение null
, то DateTimeFormatInfo используется объект, связанный с текущим языком и региональными параметрами. Если 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
Параметры
Возвращаемое значение
Строковое представление значения текущего объекта 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 обеспечивает обширную поддержку форматирования, которая подробно описывается в следующих разделах форматирования:
Дополнительные сведения о строках формата для TimeSpan значений см. в разделе строки стандартного формата 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
Возвращаемое значение
Строковое представление значения текущего объекта 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
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" | Число дней в интервале времени. Этот элемент опускается, если интервал времени меньше одного дня. |
"HH" | Количество часов в интервале времени, в диапазоне от 0 до 23. |
"mm" | Количество минут в интервале времени, в диапазоне от 0 до 59. |
«SS» | Количество секунд в интервале времени, в диапазоне от 0 до 59. |
"fffffff" | Доли секунды в интервале времени. Этот элемент опускается, если интервал времени не включает доли секунды. При наличии доли секунды всегда выражаются с использованием семи десятичных цифр. |
Примечания для тех, кто вызывает этот метод
TimeSpanв платформа .NET Framework 4 добавлена поддержка форматирования значений. Однако ToString() перегрузка метода остается без учета языка и региональных параметров. его поведение остается неизменным по отношению к предыдущим версиям платформа .NET Framework. Чтобы управлять форматированием TimeSpan значения, вызовите метод ToString(String) или ToString(String, IFormatProvider) .