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