Standardní řetězce formátu TimeSpan
Řetězec standardního TimeSpan formátu používá specifikátor jednoho formátu k definování textové reprezentace TimeSpan hodnoty, která je výsledkem operace formátování. Jakýkoli formátovací řetězec, který obsahuje více než jeden znak, včetně prázdných znaků, se interpretuje jako řetězec vlastního TimeSpan formátu. Další informace najdete v tématu Vlastní řetězce formátu TimeSpan .
Řetězcové reprezentace TimeSpan hodnot jsou vytvářeny voláním přetížení TimeSpan.ToString metody a také metodami, které podporují složené formátování, například String.Format. Další informace najdete v tématu Typy formátování a složené formátování. Následující příklad ukazuje použití standardních formátovaných řetězců v operacích formátování.
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
Standardní TimeSpan formátovací řetězce jsou také používány metodami TimeSpan.ParseExact a TimeSpan.TryParseExact k definování požadovaného formátu vstupních řetězců pro operace analýzy. (Analýza převede řetězcovou reprezentaci hodnoty na danou hodnotu.) Následující příklad ukazuje použití standardních formátovaných řetězců v operacích analýzy.
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
V následující tabulce jsou uvedeny specifikátory standardního formátu časového intervalu.
Specifikátor formátu | Název | Popis | Příklady |
---|---|---|---|
"c" | Konstantní (invariantní) formát | Tento specifikátor není citlivý na jazykovou verzi. Má tvar [-][d'.']hh':'mm':'ss['.'fffffff] .(Řetězce formátu "t" a "T" generují stejné výsledky.) Další informace: Specifikátor formátu konstanty ("c"). |
TimeSpan.Zero -> 00:00:00New TimeSpan(0, 0, 30, 0) -> 00:30:00New TimeSpan(3, 17, 25, 30, 500) –> 3.17:25:30.50000000 |
"g" | Obecný krátký formát | Tento specifikátor vypíše jenom to, co je potřeba. Je citlivý na kulturu a má formu [-][d':']h':'mm':'ss[.FFFFFFF] .Další informace: Specifikátor obecného krátkého formátu ("g") |
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, 599) -> 1:3:16:50.599 (cs-CZ)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR) |
"G" | Obecný dlouhý formát | Tento specifikátor vždy vypíše dny a sedm desetinných číslic. Je citlivý na kulturu a má formu [-]d':'hh':'mm':'ss.fffffff .Další informace: Specifikátor formátu General Long ("G"). |
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (cs-CZ)New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR) |
Specifikátor formátu konstanty ("c")
Specifikátor formátu "c" vrátí řetězcovou TimeSpan reprezentaci hodnoty v následujícím tvaru:
[-][d.]hh:mm:ss[.fffffff]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Tečka (.) a dvojtečka (:) jsou symboly literálů. Následující tabulka popisuje zbývající prvky.
Element | Popis |
---|---|
- | Volitelné záporné znaménko, které označuje záporný časový interval. |
d | Volitelný počet dnů bez počátečních nul. |
hh | Počet hodin v rozsahu od 00 do 23. |
mm | Počet minut, který se pohybuje od "00" do "59". |
ss | Počet sekund, který se pohybuje od 0 do 59. |
fffffff | Volitelná zlomková část sekundy. Jeho hodnota může být v rozsahu od "0000001" (jedna klíště nebo jedna desetimilionta sekundy) až po "9999999" (9 999 999 desetimiliont sekundy nebo o jednu sekundu méně). |
Na rozdíl od specifikátorů formátu "g" a "G" specifikátor formátu "c" není citlivý na jazykovou verzi. Vytvoří řetězcovou reprezentaci TimeSpan hodnoty, která je invariantní a která je společná pro verze starší než .NET Framework 4. "c" je výchozí TimeSpan formátovací řetězec; TimeSpan.ToString() metoda formátuje hodnotu časového intervalu pomocí řetězce formátu "c".
Poznámka
TimeSpan podporuje také řetězce standardního formátu "t" a "T", které jsou identické s řetězcem standardního formátu "c".
Následující příklad vytvoří instanci dvou TimeSpan objektů, použije je k provádění aritmetických operací a zobrazí výsledek. V každém případě používá složené formátování k zobrazení TimeSpan hodnoty pomocí specifikátoru formátu "c".
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
Specifikátor obecného krátkého formátu ("g")
Specifikátor formátu "g" TimeSpan vrátí řetězcovou TimeSpan reprezentaci hodnoty v kompaktní podobě tím, že zahrne pouze prvky, které jsou nezbytné. Má následující tvar:
[-][d:]h:mm:ss[.FFFFFFF]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Dvojtečka (:) je symbol literálu. Následující tabulka popisuje zbývající prvky.
Element | Popis |
---|---|
- | Volitelné záporné znaménko, které označuje záporný časový interval. |
d | Volitelný počet dnů bez počátečních nul. |
h | Počet hodin, který se pohybuje od "0" do "23", bez počátečních nul. |
mm | Počet minut, který se pohybuje od "00" do "59". |
ss | Počet sekund, který se pohybuje v rozsahu od 00 do 59. |
. | Oddělovač zlomku sekund. Je ekvivalentní vlastnosti zadané jazykové verze NumberDecimalSeparator bez přepsání uživatele. |
FFFFFFF | Desetinné sekundy. Zobrazí se co nejméně číslic. |
Podobně jako specifikátor formátu "G" je i specifikátor formátu "g" lokalizován. Jeho oddělovač desetinné sekundy je založen na aktuální jazykové verzi nebo na vlastnosti zadané jazykové verze NumberDecimalSeparator .
Následující příklad vytvoří instanci dvou TimeSpan objektů, použije je k provádění aritmetických operací a zobrazí výsledek. V každém případě používá složené formátování k zobrazení TimeSpan hodnoty pomocí specifikátoru formátu "g". Kromě toho formátuje TimeSpan hodnotu pomocí konvencí formátování aktuální systémové jazykové verze (což je v tomto případě angličtina – USA nebo en-US) a francouzština – Francie (fr-FR).
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
Specifikátor obecného dlouhého formátu ("G")
Specifikátor formátu "G" TimeSpan vrátí řetězcovou reprezentaci TimeSpan hodnoty v dlouhé podobě, která vždy zahrnuje dny i zlomky sekund. Řetězec, který je výsledkem specifikátoru standardního formátu "G", má následující tvar:
[-]d:hh:mm:ss.fffffff
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Dvojtečka (:) je symbol literálu. Následující tabulka popisuje zbývající prvky.
Element | Popis |
---|---|
- | Volitelné záporné znaménko, které označuje záporný časový interval. |
d | Počet dnů bez počátečních nul. |
hh | Počet hodin v rozsahu od 00 do 23. |
mm | Počet minut v rozsahu od 00 do 59. |
ss | Počet sekund v rozsahu od 00 do 59. |
. | Oddělovač desetinné sekundy Je ekvivalentní vlastnosti zadané jazykové verze NumberDecimalSeparator bez přepsání uživatelem. |
fffffff | Desetinné sekundy. |
Podobně jako specifikátor formátu "G" je specifikátor formátu "g" lokalizován. Jeho oddělovač desetinné sekundy je založen buď na aktuální jazykové verzi, nebo na vlastnosti zadané jazykové verze NumberDecimalSeparator .
Následující příklad vytvoří instanci dvou TimeSpan objektů, použije je k provádění aritmetických operací a zobrazí výsledek. V každém případě používá složené formátování k zobrazení TimeSpan hodnoty pomocí specifikátoru formátu "G". Kromě toho formátuje TimeSpan hodnotu pomocí konvencí formátování aktuální jazykové verze systému (což je v tomto případě angličtina – USA nebo en-US) a francouzština – Francie (fr-FR).
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
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Odeslat a zobrazit názory pro