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

Параметры

format
String

Стандартная или пользовательская строка формата TimeSpan.

formatProvider
IFormatProvider

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

Возвращаемое значение

String

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

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

Параметры

format
String

Стандартная или пользовательская строка формата TimeSpan.

Возвращаемое значение

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

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

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

ToString()

Преобразует значение текущего объекта TimeSpan в эквивалентное ему строковое представление.

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

Возвращаемое значение

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) .

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

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