Standardowe ciągi formatujące TimeSpanStandard TimeSpan format strings

TimeSpanCiąg formatu standardowego używa pojedynczego specyfikatora formatu do definiowania tekstowej reprezentacji TimeSpan wartości będącej wynikiem operacji formatowania.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. Dowolny ciąg formatu, który zawiera więcej niż jeden znak, w tym znak odstępu, jest interpretowany jako TimeSpan ciąg formatu niestandardowego.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. Aby uzyskać więcej informacji, zobacz Niestandardowe ciągi formatujące TimeSpan .For more information, see Custom TimeSpan format strings .

Ciąg reprezentujący TimeSpan wartości są tworzone przez wywołania przeciążeń TimeSpan.ToString metody, a także metody obsługujące formatowanie złożone, takie jak 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. Aby uzyskać więcej informacji, zobacz Typy formatowania i formatowanie złożone.For more information, see Formatting Types and Composite Formatting. Poniższy przykład ilustruje użycie standardowych ciągów formatu w operacjach formatowania.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

TimeSpanCiągi formatu standardowego są również używane przez TimeSpan.ParseExact metody i TimeSpan.TryParseExact do definiowania wymaganego formatu ciągów wejściowych na potrzeby analizowania operacji.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. (Analizowanie konwertuje ciąg reprezentujący wartość na tę wartość). Poniższy przykład ilustruje użycie standardowych ciągów formatu podczas analizowania operacji.(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

Poniższa tabela zawiera listę specyfikatorów formatu standardowego interwału czasu.The following table lists the standard time interval format specifiers.

Specyfikator formatuFormat specifier NazwaName OpisDescription PrzykładyExamples
s"c" Stały format (niezmienny)Constant (invariant) format Ten specyfikator nie jest uwzględniany w kulturze.This specifier is not culture-sensitive. Formularz [-][d'.']hh':'mm':'ss['.'fffffff] .It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

(Ciągi formatu "t" i "T" dają te same wyniki).(The "t" and "T" format strings produce the same results.)

Więcej informacji: specyfikator formatu stałej ("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" Ogólny krótki formatGeneral short format Ten specyfikator wyprowadza tylko to, co jest potrzebne.This specifier outputs only what is needed. Jest ona zależna od kultury i ma postać [-][d':']h':'mm':'ss[.FFFFFFF] .It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

Więcej informacji: specyfikator formatu ogólnego ("g").More information: The General Short ("g") Format Specifier.
New TimeSpan(1, 3, 16, 50, 500) -> 1:3: 50.5 (pl-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: 50.599 (pl-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:50599 (fr-FR)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)
„G”"G" Format ogólnie długiGeneral long format Ten specyfikator zawsze Wyprowadza dni i siedem cyfr.This specifier always outputs days and seven fractional digits. Jest ona zależna od kultury i ma postać [-]d':'hh':'mm':'ss.fffffff .It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

Więcej informacji: specyfikator formatu ogólnego ("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)

Specyfikator formatu stałej ("c")The Constant ("c") Format Specifier

Specyfikator formatu "c" zwraca reprezentację ciągu TimeSpan wartości w następującej postaci: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 ]

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. Kropka (.) i dwukropek (:) są symbolami literału.The period (.) and colon (:) are literal symbols. W poniższej tabeli opisano pozostałe elementy.The following table describes the remaining elements.

ElementElement OpisDescription
- Opcjonalny znak ujemny, który wskazuje ujemny przedział czasu.An optional negative sign, which indicates a negative time interval.
dd Opcjonalna liczba dni bez zer wiodących.The optional number of days, with no leading zeros.
hhhh Liczba godzin z zakresu od "00" do "23".The number of hours, which ranges from "00" to "23".
mmmm Liczba minut obejmująca wartość "00" do "59".The number of minutes, which ranges from "00" to "59".
ssss Liczba sekund określająca zakres od "0" do "59".The number of seconds, which ranges from "0" to "59".
ffffffffffffff Opcjonalna część ułamkowa sekundy.The optional fractional portion of a second. Jego wartość może być z zakresu od "0000001" (jeden takt lub 1 10-milionowego sekundy) do "9999999" (9 999 999 10-dziesięciomilionowych sekundy lub jeden drugi z więcej niż jeden takt).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).

W przeciwieństwie do specyfikatorów formatu "g" i "G", specyfikator formatu "c" nie jest uwzględniany w kulturze.Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. Generuje ciąg reprezentujący TimeSpan wartość niezmienną i która jest wspólna dla wersji przed .NET Framework 4.It produces the string representation of a TimeSpan value that is invariant and that's common to versions prior to .NET Framework 4. "c" jest domyślnym TimeSpan ciągiem formatu; TimeSpan.ToString() Metoda formatuje wartość przedziału czasu przy użyciu ciągu formatu "c"."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

Uwaga

TimeSpan obsługuje również ciągi formatu standardowego "t" i "T", które są takie same jak w przypadku standardowego ciągu formatu "c".TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

Poniższy przykład tworzy wystąpienie dwóch TimeSpan obiektów, używa ich do wykonywania operacji arytmetycznych i wyświetla wynik.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. W każdym przypadku używa formatowania złożonego do wyświetlania wartości przy TimeSpan użyciu specyfikatora formatu "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

Specyfikator formatu ogólnego ("g")The General Short ("g") Format Specifier

Specyfikator formatu "g" TimeSpan zwraca reprezentację ciągu TimeSpan wartości w postaci kompaktowej przez uwzględnienie tylko tych elementów, które są niezbędne.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. Ma następującą postać:It has the following form:

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

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. Dwukropek (:) jest symbolem literału.The colon (:) is a literal symbol. W poniższej tabeli opisano pozostałe elementy.The following table describes the remaining elements.

ElementElement OpisDescription
- Opcjonalny znak ujemny, który wskazuje ujemny przedział czasu.An optional negative sign, which indicates a negative time interval.
dd Opcjonalna liczba dni bez zer wiodących.The optional number of days, with no leading zeros.
hh Liczba godzin z zakresu od "0" do "23" bez zer wiodących.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm Liczba minut obejmująca wartość "00" do "59".The number of minutes, which ranges from "00" to "59"..
ssss Liczba sekund określająca zakres od "00" do "59"..The number of seconds, which ranges from "00" to "59"..
.. Separator sekund ułamkowych.The fractional seconds separator. Jest ona równoważna z określoną NumberDecimalSeparator właściwością kultury bez zastąpień użytkownika.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF Ułamki sekund.The fractional seconds. Zostanie wyświetlona najmniejsza liczba cyfr.As few digits as possible are displayed.

Podobnie jak specyfikator formatu "G", specyfikator formatu "g" jest lokalizowany.Like the "G" format specifier, the "g" format specifier is localized. Separator ułamków sekund jest oparty na bieżącej kulturze lub właściwości określonej kultury NumberDecimalSeparator .Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Poniższy przykład tworzy wystąpienie dwóch TimeSpan obiektów, używa ich do wykonywania operacji arytmetycznych i wyświetla wynik.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. W każdym przypadku używa formatowania złożonego do wyświetlania wartości przy TimeSpan użyciu specyfikatora formatu "g".In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. Ponadto formatuje TimeSpan wartość przy użyciu Konwencji formatowania bieżącej kultury systemu (w tym przypadku jest to angielski-Stany Zjednoczone lub EN-US) oraz kulturę Francuska-Francja (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

Specyfikator formatu ogólnego ("G")The General Long ("G") Format Specifier

Specyfikator formatu "G" TimeSpan zwraca reprezentację ciągu TimeSpan wartości w postaci długiej, która zawsze zawiera dni i ułamki sekund.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. Ciąg, który jest wynikiem specyfikatora formatu standardowego "G", ma następującą postać:The string that results from the "G" standard format specifier has the following form:

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

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne.Elements in square brackets ([ and ]) are optional. Dwukropek (:) jest symbolem literału.The colon (:) is a literal symbol. W poniższej tabeli opisano pozostałe elementy.The following table describes the remaining elements.

ElementElement OpisDescription
- Opcjonalny znak ujemny, który wskazuje ujemny przedział czasu.An optional negative sign, which indicates a negative time interval.
dd Liczba dni bez zer wiodących.The number of days, with no leading zeros.
hhhh Liczba godzin z zakresu od "00" do "23".The number of hours, which ranges from "00" to "23".
mmmm Liczba minut obejmująca wartość "00" do "59".The number of minutes, which ranges from "00" to "59".
ssss Liczba sekund określająca zakres od "00" do "59".The number of seconds, which ranges from "00" to "59".
.. Separator sekund ułamkowych.The fractional seconds separator. Jest ona równoważna z określoną NumberDecimalSeparator właściwością kultury bez zastąpień użytkownika.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff Ułamki sekund.The fractional seconds.

Podobnie jak specyfikator formatu "G", specyfikator formatu "g" jest lokalizowany.Like the "G" format specifier, the "g" format specifier is localized. Separator ułamków sekund jest oparty na bieżącej kulturze lub właściwości określonej kultury NumberDecimalSeparator .Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Poniższy przykład tworzy wystąpienie dwóch TimeSpan obiektów, używa ich do wykonywania operacji arytmetycznych i wyświetla wynik.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. W każdym przypadku używa formatowania złożonego do wyświetlania wartości przy TimeSpan użyciu specyfikatora formatu "G".In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. Ponadto formatuje TimeSpan wartość przy użyciu Konwencji formatowania bieżącej kultury systemu (w tym przypadku jest to angielski-Stany Zjednoczone lub EN-US) oraz kulturę Francuska-Francja (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

Zobacz takżeSee also