Строки стандартного формата TimeSpanStandard TimeSpan Format Strings

Строка стандартного формата TimeSpan использует один описатель формата для определения текстового представления значения TimeSpan, получаемого после выполнения операции форматирования.A standard TimeSpan format string uses a single format specifier to define the text representation of a TimeSpan value that results from a formatting operation. Любая строка формата, содержащая более одной буквы, включая пробелы, интерпретируется как строка настраиваемого формата TimeSpan.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. Дополнительные сведения см. в разделе Строки настраиваемого формата TimeSpan.For more information, see Custom TimeSpan Format Strings .

Строковые представления значений TimeSpan создаются вызовами перегрузок метода TimeSpan.ToString, а также методами, поддерживающими составное форматирование, такими как String.Format.The string representations of TimeSpan values are produced by calls to the overloads of the TimeSpan.ToString method, as well as by methods that support composite formatting, such as String.Format. Дополнительные сведения см. в разделах Типы форматирования и Составное форматирование.For more information, see Formatting Types and Composite Formatting. В следующем примере показано использование строк стандартного формата в операциях форматирования.The following example illustrates the use of standard format strings in formatting operations.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);
      string output = "Time of Travel: " + duration.ToString("c");
      Console.WriteLine(output);
      
      Console.WriteLine("Time of Travel: {0:c}", duration); 
   }
}
// The example displays the following output:
//       Time of Travel: 1.12:24:02
//       Time of Travel: 1.12:24:02
Module Example
   Public Sub Main()
      Dim duration As New TimeSpan(1, 12, 23, 62)
      Dim output As String = "Time of Travel: " + duration.ToString("c")
      Console.WriteLine(output)
      
      Console.WriteLine("Time of Travel: {0:c}", duration) 
   End Sub
End Module
' The example displays the following output:
'       Time of Travel: 1.12:24:02
'       Time of Travel: 1.12:24:02

Строки стандартного формата TimeSpan также используется методами TimeSpan.ParseExact и TimeSpan.TryParseExact для определения необходимого формата входных строк для операций анализа.Standard TimeSpan format strings are also used by the TimeSpan.ParseExact and TimeSpan.TryParseExact methods to define the required format of input strings for parsing operations. (Анализ преобразует строковое представление значения в это значение). В следующем примере показано использование строк стандартного формата в операциях анализа.(Parsing converts the string representation of a value to that value.) The following example illustrates the use of standard format strings in parsing operations.

using System;

public class Example
{
   public static void Main()
   {
      string value = "1.03:14:56.1667";
      TimeSpan interval;
      try {
         interval = TimeSpan.ParseExact(value, "c", null);
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      }   
      catch (FormatException) {
         Console.WriteLine("{0}: Bad Format", value);
      }   
      catch (OverflowException) {
         Console.WriteLine("{0}: Out of Range", value);
      }
      
      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value);
   }
}
// The example displays the following output:
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
Module Example
   Public Sub Main()
      Dim value As String = "1.03:14:56.1667"
      Dim interval As TimeSpan
      Try
         interval = TimeSpan.ParseExact(value, "c", Nothing)
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Catch e As FormatException
         Console.WriteLine("{0}: Bad Format", value)
      Catch e As OverflowException
         Console.WriteLine("{0}: Out of Range", value)
      End Try
      
      If TimeSpan.TryParseExact(value, "c", Nothing, interval) Then
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value)
      End If                
   End Sub
End Module
' The example displays the following output:
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000

В следующей таблице перечислены описатели стандартного формата временных интервалов.The following table lists the standard time interval format specifiers.

Описатель форматаFormat specifier nameName ОписаниеDescription ПримерыExamples
"c""c" Постоянный (инвариантный) форматConstant (invariant) format Этот описатель не учитывает язык и региональные параметры.This specifier is not culture-sensitive. Он принимает форму [-][d'.']hh':'mm':'ss['.'fffffff].It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

(Строки формата "t" и "T" дают одинаковые результаты).(The "t" and "T" format strings produce the same results.)

Дополнительная информация: Описатель формата константы (c).More information: The Constant ("c") Format Specifier.
TimeSpan.Zero -> 00:00:00TimeSpan.Zero -> 00:00:00

New TimeSpan(0, 0, 30, 0) -> 00:30:00New TimeSpan(0, 0, 30, 0) -> 00:30:00

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000
"g""g" Общий короткий форматGeneral short format Этот описатель выводит только необходимые данные.This specifier outputs only what is needed. Он зависит от языка и региональных параметров и принимает форму [-][d':']h':'mm':'ss[.FFFFFFF].It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

Дополнительная информация: Описатель общего короткого формата (g).More information: The General Short ("g") Format Specifier.
New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)
"G""G" Общий длинный форматGeneral long format Этот описатель всегда отображает дни и семь цифр после запятой.This specifier always outputs days and seven fractional digits. Он зависит от языка и региональных параметров и принимает форму [-]d':'hh':'mm':'ss.fffffff.It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

Дополнительная информация: Описатель общего длинного формата (G).More information: The General Long ("G") Format Specifier.
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)

New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)

Описатель постоянного ("c") формата.The Constant ("c") Format Specifier

Описатель формата "c" возвращает строковое представление значения TimeSpan в следующем виде:The "c" format specifier returns the string representation of a TimeSpan value in the following form:

[-][d.]hh:mm:ss[.fffffff][-][d.]hh:mm:ss[.fffffff]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Точка (.) и двоеточие (:) являются литеральными символами.The period (.) and colon (:) are literal symbols. В следующей таблице описываются остальные элементы.The following table describes the remaining elements.

ЭлементElement ОписаниеDescription
- Необязательный знак минуса, который означает отрицательный интервал времени.An optional negative sign, which indicates a negative time interval.
dd Необязательное число дней без предшествующих нулей.The optional number of days, with no leading zeros.
hhhh Количество часов в диапазоне от "00" до "23".The number of hours, which ranges from "00" to "23".
mmmm Количество минут в диапазоне от "00" до "59".The number of minutes, which ranges from "00" to "59".
ssss Количество секунд в диапазоне от "0" до "59".The number of seconds, which ranges from "0" to "59".
ffffffffffffff Необязательная доля секунды.The optional fractional portion of a second. Это значение может входит в диапазон от "0000001» (от одной десятимиллионной секунды) до "9999999" (до 9 999 999 десятимиллионных секунды).Its value can range from "0000001" (one tick, or one ten-millionth of a second) to "9999999" (9,999,999 ten-millionths of a second, or one second less one tick).

В отличие от описателей формата "g" и "G" описатель формата "c" не учитывает язык и региональные параметры.Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. Он создает строковое представление значения TimeSpan, которое является инвариантным и общим для всех предыдущих версий платформы .NET Framework до выхода .NET Framework 4.It produces the string representation of a TimeSpan value that is invariant and that is common to all previous versions of the .NET Framework before the .NET Framework 4. c — это строка формата TimeSpan по умолчанию. Метод TimeSpan.ToString() форматирует значение временного интервала с помощью строки формата c."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

Примечание

TimeSpan также поддерживает строки стандартного формата "t" и "T", которые идентичны поведению строки стандартного формата "c".TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

В следующем примере создаются два объекта TimeSpan, которые используются для выполнения арифметических операций, после чего выводится результат.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. В каждом случае используется составное форматирование для отображения значения TimeSpan с помощью описателя формата "c".In each case, it uses composite formatting to display the TimeSpan value by using the "c" format specifier.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
      
      interval1 = new TimeSpan(0, 0, 1, 14, 365);
      interval2 = TimeSpan.FromTicks(2143756);  
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       07:45:16 - 18:12:38 = -10:27:22
//       07:45:16 + 18:12:38 = 1.01:57:54
//       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756
Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
      
      interval1 = New TimeSpan(0, 0, 1, 14, 365)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       07:45:16 - 18:12:38 = -10:27:22
'       07:45:16 + 18:12:38 = 1.01:57:54
'       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756

К таблицеBack to table

Описатель общего короткого ("g") форматаThe General Short ("g") Format Specifier

Описатель формата "g" TimeSpan возвращает строковое представление значения TimeSpan в компактной форме, включая только необходимые элементы.The "g" TimeSpan format specifier returns the string representation of a TimeSpan value in a compact form by including only the elements that are necessary. Представление имеет следующую форму:It has the following form:

[-][d:]h:mm:ss[.FFFFFFF][-][d:]h:mm:ss[.FFFFFFF]

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Двоеточие (:) является литеральным символом.The colon (:) is a literal symbol. В следующей таблице описываются остальные элементы.The following table describes the remaining elements.

ЭлементElement ОписаниеDescription
- Необязательный знак минуса, который означает отрицательный интервал времени.An optional negative sign, which indicates a negative time interval.
dd Необязательное число дней без предшествующих нулей.The optional number of days, with no leading zeros.
hh Количество часов в диапазоне от "0" до "23" без предшествующих нулей.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm Количество минут в диапазоне от "00" до "59".The number of minutes, which ranges from "00" to "59"..
ssss Количество секунд в диапазоне от "00" до "59".The number of seconds, which ranges from "00" to "59"..
.. Разделитель долей секунд.The fractional seconds separator. Является эквивалентом для свойства NumberDecimalSeparator указанного языка и региональных параметров без переопределения пользователем.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF Доли секунд.The fractional seconds. Отображается как можно меньше цифр.As few digits as possible are displayed.

Как и описатель формата "G", описатель формата "g" является локализуемым.Like the "G" format specifier, the "g" format specifier is localized. Его разделитель долей секунд зависит от текущего языка и региональных параметров или свойства NumberDecimalSeparator указанного языка и региональных параметров.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

В следующем примере создаются два объекта TimeSpan, которые используются для выполнения арифметических операций, после чего выводится результат.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. В каждом случае используется составное форматирование для отображения значения TimeSpan с помощью описателя формата "g".In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. Кроме того, он форматирует значение TimeSpan с использованием соглашений о форматировании текущего системного языка и региональных параметров (в данном случае это английский язык, США или en-US) и французского языка, Франция (fr-FR).In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       7:45:16 - 18:12:38 = -10:27:22
//       7:45:16 + 18:12:38 = 1:1:57:54
//       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       7:45:16 - 18:12:38 = -10:27:22
'       7:45:16 + 18:12:38 = 1:1:57:54
'       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756

К таблицеBack to table

Описатель общего длинного ("G") форматаThe General Long ("G") Format Specifier

Описатель формата "G" TimeSpan возвращает строковое представление значения TimeSpan в длинной форме, которая всегда включает и дни, и доли секунд.The "G" TimeSpan format specifier returns the string representation of a TimeSpan value in a long form that always includes both days and fractional seconds. Строка, которая является результатом описателя стандартного формата "G" имеет следующий вид:The string that results from the "G" standard format specifier has the following form:

[-]d:hh:mm:ss.fffffff[-]d:hh:mm:ss.fffffff

Элементы в квадратных скобках ([и]) являются необязательными.Elements in square brackets ([ and ]) are optional. Двоеточие (:) является литеральным символом.The colon (:) is a literal symbol. В следующей таблице описываются остальные элементы.The following table describes the remaining elements.

ЭлементElement ОписаниеDescription
- Необязательный знак минуса, который означает отрицательный интервал времени.An optional negative sign, which indicates a negative time interval.
dd Число дней без предшествующих нулей.The number of days, with no leading zeros.
hhhh Количество часов в диапазоне от "00" до "23".The number of hours, which ranges from "00" to "23".
mmmm Количество минут в диапазоне от "00" до "59".The number of minutes, which ranges from "00" to "59".
ssss Количество секунд в диапазоне от "00" до "59".The number of seconds, which ranges from "00" to "59".
.. Разделитель долей секунд.The fractional seconds separator. Является эквивалентом для свойства NumberDecimalSeparator указанного языка и региональных параметров без переопределения пользователем.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff Доли секунд.The fractional seconds.

Как и описатель формата "G", описатель формата "g" является локализуемым.Like the "G" format specifier, the "g" format specifier is localized. Его разделитель долей секунд зависит от текущего языка и региональных параметров или свойства NumberDecimalSeparator указанного языка и региональных параметров.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

В следующем примере создаются два объекта TimeSpan, которые используются для выполнения арифметических операций, после чего выводится результат.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. В каждом случае используется составное форматирование для отображения значения TimeSpan с помощью описателя формата "G".In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. Кроме того, он форматирует значение TimeSpan с использованием соглашений о форматировании текущего системного языка и региональных параметров (в данном случае это английский язык, США или en-US) и французского языка, Франция (fr-FR).In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
//       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
//       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
'       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
'       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756

К таблицеBack to table

См. такжеSee also