Поделиться через


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

Параметры

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 это стандартная строка формата, формат возвращаемой строки определяется соглашениями о форматировании текущего языка и региональных параметров.

Это важно

Строки пользовательского формата для 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) для форматирования двух интервалов времени. В этом примере метод вызывается дважды для каждой строки формата, сначала чтобы отобразить его с помощью соглашений о 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 предоставляет обширную поддержку форматирования, которая подробно описана в следующих разделах форматирования:

Параметр formatProvider — это реализация, которая предоставляет сведения о языке и региональных параметрах IFormatProvider, влияющих на формат возвращаемой строки. Параметр formatProvider может быть любым из следующих значений:

  • Объект CultureInfo, представляющий культуру, соглашения о форматировании которой должны отражаться в возвращаемой строке. Объект, DateTimeFormatInfo возвращаемый свойством CultureInfo.DateTimeFormat , определяет форматирование возвращаемой строки.

  • DateTimeFormatInfo Объект, определяющий форматирование возвращаемой строки.

  • Объект, реализующий интерфейс IFormatProvider, разработанный по индивидуальному заказу. Его IFormatProvider.GetFormat метод возвращает DateTimeFormatInfo объект, предоставляющий сведения о форматировании.

Если formatProvider — это null, используется объект DateTimeFormatInfo, связанный с текущей культурой. Если format это настраиваемая строка форматирования, formatProvider параметр игнорируется.

См. также раздел

Применяется к