Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Standardní řetězec formátu TimeSpan 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 vlastní řetězec formátu TimeSpan. Další informace naleznete 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, stejně jako metodami, které podporují složené formátování, například String.Format. Další informace naleznete v tématu Typy formátování a složené formátování. Následující příklad ukazuje použití standardních formátovací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: {duration:c}");
}
}
// 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í formátovací řetězce TimeSpan používají také TimeSpan.ParseExact a TimeSpan.TryParseExact metody 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 znázorňuje použití standardních formátovacích řetězců při parsování operací.
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 '{value}' to {interval}");
}
catch (FormatException) {
Console.WriteLine($"{value}: Bad Format");
}
catch (OverflowException) {
Console.WriteLine($"{value}: Out of Range");
}
if (TimeSpan.TryParseExact(value, "c", null, out interval))
Console.WriteLine($"Converted '{value}' to {interval}");
else
Console.WriteLine($"Unable to convert {value} to a time interval.");
}
}
// 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
Následující tabulka uvádí 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" vytvoří 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.5000000 |
| "g" | Obecný krátký formát | Tento specifikátor vypíše jenom to, co je potřeba. Je citlivá na jazykovou verzi a má formu [-][d':']h':'mm':'ss[.FFFFFFF].Další informace: Specifikátor formátu General Short ("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 (en-US)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 jazykovou verzi 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 (en-US)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 reprezentaci hodnoty TimeSpan v následující podobě:
[-][d.]hh:mm:ss[.fffffff]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Tečka (.) a dvojtečka (:) jsou literály. Následující tabulka popisuje zbývající prvky.
| prvek | 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, které se pohybuje 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" (jeden klíště nebo jeden deset milionů sekund) až po "9999999" (9 999 999 999 desetiminutových sekund nebo jednu sekundu menšího. |
Na rozdíl od specifikátorů formátu "g" a "G" není specifikátor formátu "c" citlivý na jazykovou verzi. Vytvoří řetězcovou reprezentaci hodnoty TimeSpan, která je invariantní a která je společná pro verze před rozhraním .NET Framework 4. "c" je výchozí formátovací řetězec TimeSpan; metoda TimeSpan.ToString() formátuje hodnotu časového intervalu pomocí řetězce formátu "c".
Poznámka:
TimeSpan také podporuje standardní formátovací řetězce "t" a "T", které jsou identické v chování jako řetězec 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í hodnoty TimeSpan 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($"{interval1:c} - {interval2:c} = {interval1 - interval2:c}");
Console.WriteLine($"{interval1:c} + {interval2:c} = {interval1 + interval2:c}");
interval1 = new TimeSpan(0, 0, 1, 14, 365);
interval2 = TimeSpan.FromTicks(2143756);
Console.WriteLine($"{interval1:c} + {interval2:c} = {interval1 + interval2:c}");
}
}
// 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 reprezentaci hodnoty TimeSpan v kompaktní podobě zahrnutím pouze prvků, které jsou nezbytné. Má následující formulář:
[-][d:]h:mm:ss[.FFFFFFF]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Dvojtečka (:) je literálový symbol. Následující tabulka popisuje zbývající prvky.
| prvek | 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 od "00" do "59". |
| . | Oddělovač desetinné sekundy. Odpovídá vlastnosti NumberDecimalSeparator zadané jazykové verze bez přepsání uživatelem. |
| FFFFFFF | Zlomkové sekundy. Zobrazí se co nejvíce číslic. |
Stejně jako specifikátor formátu "G" je specifikátor formátu "g" lokalizován. Oddělovač desetinné sekundy je založen na aktuální jazykové verzi nebo zadané jazykové verzi NumberDecimalSeparator vlastnost.
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 hodnotu TimeSpan pomocí konvencí formátování aktuální jazykové verze systému (což je v tomto případě angličtina - Spojené státy nebo en-US) a francouzština - Francie (fr-FR) jazykové verze.
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($"{interval1:g} - {interval2:g} = {interval1 - interval2:g}");
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($"{interval1:g} + {interval2:g} = {interval1 + interval2:g}");
}
}
// 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 formátu Long ("G")
Specifikátor formátu "G" TimeSpan vrátí řetězcovou reprezentaci hodnoty TimeSpan v dlouhé podobě, která vždy obsahuje dny i zlomkové sekundy. Ř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 literálový symbol. Následující tabulka popisuje zbývající prvky.
| prvek | 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, které se pohybuje od "00" do "23". |
| mm | Počet minut, které se pohybuje od "00" do "59". |
| ss | Počet sekund, který se pohybuje od "00" do "59". |
| . | Oddělovač desetinné sekundy. Odpovídá vlastnosti NumberDecimalSeparator zadané jazykové verze bez přepsání uživatelem. |
| fffffff | Zlomkové sekundy. |
Stejně jako specifikátor formátu "G" je specifikátor formátu "g" lokalizován. Oddělovač desetinné sekundy je založen na aktuální jazykové verzi nebo zadané jazykové verzi NumberDecimalSeparator vlastnost.
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í hodnoty TimeSpan pomocí specifikátoru formátu "G". Kromě toho formátuje hodnotu TimeSpan pomocí konvencí formátování aktuální jazykové verze systému (což je v tomto případě angličtina - Spojené státy nebo en-US) a francouzština - Francie (fr-FR) jazykové verze.
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($"{interval1:G} - {interval2:G} = {interval1 - interval2:G}");
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($"{interval1:G} + {interval2:G} = {interval1 + interval2:G}");
}
}
// 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é
- typy formátování
- vlastních řetězců formátu TimeSpan
- analýzy řetězců