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.
Řetězec formátu TimeSpan definuje řetězcovou reprezentaci hodnoty TimeSpan, která je výsledkem operace formátování. Řetězec vlastního formátu se skládá z jednoho nebo několika specifikátorů vlastního TimeSpan formátu spolu s libovolným počtem literálových znaků. Každý řetězec, který není standardním formátovacím řetězcem TimeSpan, je interpretován jako vlastní řetězec formátu TimeSpan.
Důležité
Specifikátory vlastního formátu TimeSpan neobsahují symboly oddělovače zástupných symbolů, jako jsou symboly, které oddělují dny od hodin, hodin od minut nebo sekund od desetinných sekund. Místo toho musí být tyto symboly zahrnuty do řetězce vlastního formátu jako řetězcové literály. Například "dd\.hh\:mm" definuje tečku (.) jako oddělovač mezi dny a hodinami a dvojtečku (:) jako oddělovač mezi hodinami a minutami.
Specifikátory vlastního formátu TimeSpan také neobsahují symbol znaménka, který umožňuje rozlišovat mezi zápornými a kladnými časovými intervaly. Pokud chcete zahrnout symbol znaménka, musíte vytvořit formátovací řetězec pomocí podmíněné logiky. Část Další znaky obsahuje příklad.
Řetězcové reprezentace TimeSpan hodnot jsou vytvářeny voláním přetížení TimeSpan.ToString metody a 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 znázorňuje použití řetězců vlastního formátu 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 = null;
output = "Time of Travel: " + duration.ToString("%d") + " days";
Console.WriteLine(output);
output = "Time of Travel: " + duration.ToString(@"dd\.hh\:mm\:ss");
Console.WriteLine(output);
Console.WriteLine($"Time of Travel: {duration:%d} day(s)");
Console.WriteLine($"Time of Travel: {duration:dd\\.hh\\:mm\\:ss} days");
}
}
// The example displays the following output:
// Time of Travel: 1 days
// Time of Travel: 01.12:24:02
// Time of Travel: 1 day(s)
// Time of Travel: 01.12:24:02 days
Module Example
Public Sub Main()
Dim duration As New TimeSpan(1, 12, 23, 62)
Dim output As String = Nothing
output = "Time of Travel: " + duration.ToString("%d") + " days"
Console.WriteLine(output)
output = "Time of Travel: " + duration.ToString("dd\.hh\:mm\:ss")
Console.WriteLine(output)
Console.WriteLine("Time of Travel: {0:%d} day(s)", duration)
Console.WriteLine("Time of Travel: {0:dd\.hh\:mm\:ss} days", duration)
End Sub
End Module
' The example displays the following output:
' Time of Travel: 1 days
' Time of Travel: 01.12:24:02
' Time of Travel: 1 day(s)
' Time of Travel: 01.12:24:02 days
Vlastní řetězce formátu TimeSpan používají také metody 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 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 = null;
TimeSpan interval;
value = "6";
if (TimeSpan.TryParseExact(value, "%d", null, out interval))
Console.WriteLine($"{value} --> {interval.ToString("c")}");
else
Console.WriteLine($"Unable to parse '{value}'");
value = "16:32.05";
if (TimeSpan.TryParseExact(value, @"mm\:ss\.ff", null, out interval))
Console.WriteLine($"{value} --> {interval.ToString("c")}");
else
Console.WriteLine($"Unable to parse '{value}'");
value= "12.035";
if (TimeSpan.TryParseExact(value, "ss\\.fff", null, out interval))
Console.WriteLine($"{value} --> {interval.ToString("c")}");
else
Console.WriteLine($"Unable to parse '{value}'");
}
}
// The example displays the following output:
// 6 --> 6.00:00:00
// 16:32.05 --> 00:16:32.0500000
// 12.035 --> 00:00:12.0350000
Module Example
Public Sub Main()
Dim value As String = Nothing
Dim interval As TimeSpan
value = "6"
If TimeSpan.TryParseExact(value, "%d", Nothing, interval) Then
Console.WriteLine("{0} --> {1}", value, interval.ToString("c"))
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
value = "16:32.05"
If TimeSpan.TryParseExact(value, "mm\:ss\.ff", Nothing, interval) Then
Console.WriteLine("{0} --> {1}", value, interval.ToString("c"))
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
value = "12.035"
If TimeSpan.TryParseExact(value, "ss\.fff", Nothing, interval) Then
Console.WriteLine("{0} --> {1}", value, interval.ToString("c"))
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
End Sub
End Module
' The example displays the following output:
' 6 --> 6.00:00:00
' 16:32.05 --> 00:16:32.0500000
' 12.035 --> 00:00:12.0350000
Následující tabulka popisuje specifikátory vlastního formátu data a času.
| Specifikátor formátu | Popis | Příklad |
|---|---|---|
| "d", "%d" | Počet celých dnů v časovém intervalu. Další informace: Specifikátor vlastního formátu "d". |
new TimeSpan(6, 14, 32, 17, 685):%d --> "6"d\.hh\:mm --> "6.14:32" |
| "dd"-"dddddddd" | Počet celých dnů v časovém intervalu s počátečními nulami podle potřeby. Další informace: specifikátory vlastního formátu "dd"-"ddddddd". |
new TimeSpan(6, 14, 32, 17, 685):ddd --> "006"dd\.hh\:mm --> "06.14:32" |
| "h", "%h" | Počet celých hodin v časovém intervalu, který se nepočítá jako součást dnů. Jednociferné hodiny nemají úvodní nulu. Další informace: Specifikátor vlastního formátu "h". |
new TimeSpan(6, 14, 32, 17, 685):%h --> "14"hh\:mm --> "14:32" |
| "hh" | Počet celých hodin v časovém intervalu, který se nepočítá jako součást dnů. Jednociferné hodiny mají úvodní nulu. Další informace: Specifikátor vlastního formátu "hh". |
new TimeSpan(6, 14, 32, 17, 685):hh --> "14"new TimeSpan(6, 8, 32, 17, 685):hh -> 08 |
| "m", "%m" | Počet celých minut v časovém intervalu, který není součástí hodin nebo dnů. Jednociferné minuty nemají úvodní nulu. Další informace: Specifikátor vlastního formátu "m". |
new TimeSpan(6, 14, 8, 17, 685):%m --> "8"h\:m --> "14:8" |
| "mm" | Počet celých minut v časovém intervalu, který není součástí hodin nebo dnů. Jednociferné minuty mají úvodní nulu. Další informace: Specifikátor vlastního formátu "mm". |
new TimeSpan(6, 14, 8, 17, 685):mm --> "08"new TimeSpan(6, 8, 5, 17, 685):d\.hh\:mm\:ss --> 6.08:05:17 |
| "s", "%s" | Počet celých sekund v časovém intervalu, který není součástí hodin, dnů nebo minut. Jednociferné sekundy nemají úvodní nulu. Další informace: Specifikátor vlastního formátu "s". |
TimeSpan.FromSeconds(12.965):%s --> 12s\.fff -> 12,965 |
| "ss" | Počet celých sekund v časovém intervalu, který není součástí hodin, dnů nebo minut. Jednociferné sekundy mají úvodní nulu. Další informace: Specifikátor vlastního formátu "ss". |
TimeSpan.FromSeconds(6.965):ss --> 06ss\.fff --> 06,965 |
| "f", "%f" | Desetiny sekundy v časovém intervalu Další informace: Specifikátor vlastního formátu "f". |
TimeSpan.FromSeconds(6.895):f -> 8ss\.f –> 06,8 |
| ff | Setiny sekundy v časovém intervalu. Další informace: Specifikátor vlastního formátu "ff". |
TimeSpan.FromSeconds(6.895):ff --> 89ss\.ff --> 06,89 |
| "fff" | Milisekundy v časovém intervalu. Další informace: Specifikátor vlastního formátu "fff". |
TimeSpan.FromSeconds(6.895):fff --> 895ss\.fff -> 06,895 |
| "ffff" | Desetitisíce sekundy v časovém intervalu. Další informace: Specifikátor vlastního formátu "ffff". |
TimeSpan.Parse("0:0:6.8954321"):ffff -> 8954ss\.ffff -> 06,8954 |
| "fffff" | Stotisíce sekundy v časovém intervalu. Další informace: Specifikátor vlastního formátu "fffff". |
TimeSpan.Parse("0:0:6.8954321"):fffff --> 89543ss\.fffff --> 06,89543 |
| "ffffff" | Milionté sekundy v časovém intervalu. Další informace: Specifikátor vlastního formátu "ffffff". |
TimeSpan.Parse("0:0:6.8954321"):ffffff -> 895432ss\.ffffff --> 06.895432 |
| "fffffff" | Desetimilionty sekundy (nebo zlomkového intervalu) v časovém intervalu. Další informace: Specifikátor vlastního formátu "fffffff". |
TimeSpan.Parse("0:0:6.8954321"):fffffff --> 8954321ss\.fffffff --> 06,8954321 |
| "F", "%F" | Desetiny sekundy v časovém intervalu Pokud je číslice nula, nic se nezobrazí. Další informace: Specifikátor vlastního formátu "F". |
TimeSpan.Parse("00:00:06.32"):%F: 3TimeSpan.Parse("0:0:3.091"):ss\.F: 03. |
| "FF" | Setiny sekundy v časovém intervalu. Nezahrnou se žádné desetinné koncové nuly nebo dvě nulové číslice. Další informace: Specifikátor vlastního formátu "FF". |
TimeSpan.Parse("00:00:06.329"):FF: 32TimeSpan.Parse("0:0:3.101"):ss\.FF: 03.1 |
| "FFF" | Milisekundy v časovém intervalu. Nezahrnou se žádné desetinné koncové nuly. Další informace: |
TimeSpan.Parse("00:00:06.3291"):FFF: 329TimeSpan.Parse("0:0:3.1009"):ss\.FFF: 03.1 |
| "FFFF" | Desetitisíce sekundy v časovém intervalu. Nezahrnou se žádné desetinné koncové nuly. Další informace: Specifikátor vlastního formátu "FFFF". |
TimeSpan.Parse("00:00:06.32917"):FFFFF: 3291TimeSpan.Parse("0:0:3.10009"):ss\.FFFF: 03.1 |
| FFFFF | Stotisíce sekundy v časovém intervalu. Nezahrnou se žádné desetinné koncové nuly. Další informace: Specifikátor vlastního formátu "FFFFF". |
TimeSpan.Parse("00:00:06.329179"):FFFFF: 32917TimeSpan.Parse("0:0:3.100009"):ss\.FFFFF: 03.1 |
| FFFFFF | Milionté sekundy v časovém intervalu. Nezobrazují se žádné desetinné koncové nuly. Další informace: Specifikátor vlastního formátu "FFFFFF". |
TimeSpan.Parse("00:00:06.3291791"):FFFFFF: 329179TimeSpan.Parse("0:0:3.1000009"):ss\.FFFFFF: 03.1 |
| "FFFFFFF" | Deset milionů sekund v časovém intervalu. Nezobrazují se žádné desetinné koncové nuly nebo sedm nul. Další informace: Specifikátor vlastního formátu "FFFFFFF". |
TimeSpan.Parse("00:00:06.3291791"):FFFFFF: 3291791TimeSpan.Parse("0:0:3.1900000"):ss\.FFFFFF: 03.19 |
| Řetězec | Oddělovač řetězcového literálu. Další informace: Jiné znaky. |
new TimeSpan(14, 32, 17):hh':'mm':'ss --> "14:32:17" |
| \ | Řídicí znak. Další informace: Jiné znaky. |
new TimeSpan(14, 32, 17):hh\:mm\:ss --> "14:32:17" |
| Jakýkoli jiný znak | Jakýkoli jiný nepoupravený znak je interpretován jako specifikátor vlastního formátu. Další informace: Jiné znaky. |
new TimeSpan(14, 32, 17):hh\:mm\:ss --> "14:32:17" |
Specifikátor vlastního formátu "d"
Specifikátor vlastního formátu "d" vypíše hodnotu vlastnosti TimeSpan.Days, která představuje počet celých dnů v časovém intervalu. Vypíše úplný počet dní v hodnotě TimeSpan, i když má hodnota více než jednu číslici. Pokud je hodnota vlastnosti TimeSpan.Days nula, specifikátor vypíše hodnotu 0.
Pokud se specifikátor vlastního formátu "d" používá samostatně, zadejte "%d", aby nebyl chybně interpretován jako standardní formátovací řetězec. V následujícím příkladu je uvedena ukázka.
TimeSpan ts1 = new TimeSpan(16, 4, 3, 17, 250);
Console.WriteLine(ts1.ToString("%d"));
// Displays 16
Dim ts As New TimeSpan(16, 4, 3, 17, 250)
Console.WriteLine(ts.ToString("%d"))
' Displays 16
Následující příklad ukazuje použití specifikátoru vlastního formátu "d".
TimeSpan ts2 = new TimeSpan(4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.hh\:mm\:ss"));
TimeSpan ts3 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts3.ToString(@"d\.hh\:mm\:ss"));
// The example displays the following output:
// 0.04:03:17
// 3.04:03:17
Dim ts2 As New TimeSpan(4, 3, 17)
Console.WriteLine(ts2.ToString("d\.hh\:mm\:ss"))
Dim ts3 As New TimeSpan(3, 4, 3, 17)
Console.WriteLine(ts3.ToString("d\.hh\:mm\:ss"))
' The example displays the following output:
' 0.04:03:17
' 3.04:03:17
Specifikátory vlastního formátu "dd"-"ddddddd"
Specifikátory vlastního formátu "dd", "d", "d", "ddd", "ddd" a "dd" výstupem jsou hodnoty vlastnosti TimeSpan.Days, která představuje počet celých dnů v časovém intervalu.
Výstupní řetězec obsahuje minimální počet číslic určených počtem znaků "d" ve specifikátoru formátu a podle potřeby se vyřadí s počátečními nulami. Pokud číslice v počtu dnů překračují počet znaků "d" ve specifikátoru formátu, je ve výsledném řetězci výstup celý počet dnů.
Následující příklad používá tyto specifikátory formátu k zobrazení řetězcové reprezentace dvou TimeSpan hodnot. Hodnota dny součásti prvního časového intervalu je nula; hodnota dny sekundy je 365.
TimeSpan ts1 = new TimeSpan(0, 23, 17, 47);
TimeSpan ts2 = new TimeSpan(365, 21, 19, 45);
for (int ctr = 2; ctr <= 8; ctr++)
{
string fmt = new String('d', ctr) + @"\.hh\:mm\:ss";
Console.WriteLine($"{fmt} --> {ts1.ToString(fmt)}");
Console.WriteLine($"{fmt} --> {ts2.ToString(fmt)}");
Console.WriteLine();
}
// The example displays the following output:
// dd\.hh\:mm\:ss --> 00.23:17:47
// dd\.hh\:mm\:ss --> 365.21:19:45
//
// ddd\.hh\:mm\:ss --> 000.23:17:47
// ddd\.hh\:mm\:ss --> 365.21:19:45
//
// dddd\.hh\:mm\:ss --> 0000.23:17:47
// dddd\.hh\:mm\:ss --> 0365.21:19:45
//
// ddddd\.hh\:mm\:ss --> 00000.23:17:47
// ddddd\.hh\:mm\:ss --> 00365.21:19:45
//
// dddddd\.hh\:mm\:ss --> 000000.23:17:47
// dddddd\.hh\:mm\:ss --> 000365.21:19:45
//
// ddddddd\.hh\:mm\:ss --> 0000000.23:17:47
// ddddddd\.hh\:mm\:ss --> 0000365.21:19:45
//
// dddddddd\.hh\:mm\:ss --> 00000000.23:17:47
// dddddddd\.hh\:mm\:ss --> 00000365.21:19:45
Dim ts1 As New TimeSpan(0, 23, 17, 47)
Dim ts2 As New TimeSpan(365, 21, 19, 45)
For ctr As Integer = 2 To 8
Dim fmt As String = New String("d"c, ctr) + "\.hh\:mm\:ss"
Console.WriteLine("{0} --> {1:" + fmt + "}", fmt, ts1)
Console.WriteLine("{0} --> {1:" + fmt + "}", fmt, ts2)
Console.WriteLine()
Next
' The example displays the following output:
' dd\.hh\:mm\:ss --> 00.23:17:47
' dd\.hh\:mm\:ss --> 365.21:19:45
'
' ddd\.hh\:mm\:ss --> 000.23:17:47
' ddd\.hh\:mm\:ss --> 365.21:19:45
'
' dddd\.hh\:mm\:ss --> 0000.23:17:47
' dddd\.hh\:mm\:ss --> 0365.21:19:45
'
' ddddd\.hh\:mm\:ss --> 00000.23:17:47
' ddddd\.hh\:mm\:ss --> 00365.21:19:45
'
' dddddd\.hh\:mm\:ss --> 000000.23:17:47
' dddddd\.hh\:mm\:ss --> 000365.21:19:45
'
' ddddddd\.hh\:mm\:ss --> 0000000.23:17:47
' ddddddd\.hh\:mm\:ss --> 0000365.21:19:45
'
' dddddddd\.hh\:mm\:ss --> 00000000.23:17:47
' dddddddd\.hh\:mm\:ss --> 00000365.21:19:45
Specifikátor vlastního formátu "h"
Specifikátor vlastního formátu "h" vypíše hodnotu vlastnosti TimeSpan.Hours, která představuje počet celých hodin v časovém intervalu, který se nepočítá jako součást jeho denní komponenty. Vrátí hodnotu řetězce s jednou číslicí, pokud je hodnota vlastnosti TimeSpan.Hours 0 až 9, a vrátí hodnotu řetězce se dvěma číslicemi, pokud hodnota vlastnosti TimeSpan.Hours rozsah od 10 do 23.
Pokud se specifikátor vlastního formátu "h" používá samostatně, zadejte "%h", aby nebyl chybně interpretován jako standardní formátovací řetězec. V následujícím příkladu je uvedena ukázka.
TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine($"{ts:%h} hours {ts:%m} minutes");
// The example displays the following output:
// 3 hours 42 minutes
Dim ts As New TimeSpan(3, 42, 0)
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts)
' The example displays the following output:
' 3 hours 42 minutes
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. K interpretaci číselného řetězce jako počtu hodin můžete použít specifikátor vlastního formátu "%h". V následujícím příkladu je uvedena ukázka.
string value = "8";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%h", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
// The example displays the following output:
// 08:00:00
Dim value As String = "8"
Dim interval As TimeSpan
If TimeSpan.TryParseExact(value, "%h", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
' The example displays the following output:
' 08:00:00
Následující příklad ukazuje použití specifikátoru vlastního formátu "h".
TimeSpan ts1 = new TimeSpan(14, 3, 17);
Console.WriteLine(ts1.ToString(@"d\.h\:mm\:ss"));
TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.h\:mm\:ss"));
// The example displays the following output:
// 0.14:03:17
// 3.4:03:17
Dim ts1 As New TimeSpan(14, 3, 17)
Console.WriteLine(ts1.ToString("d\.h\:mm\:ss"))
Dim ts2 As New TimeSpan(3, 4, 3, 17)
Console.WriteLine(ts2.ToString("d\.h\:mm\:ss"))
' The example displays the following output:
' 0.14:03:17
' 3.4:03:17
Specifikátor vlastního formátu "hh"
Specifikátor vlastního formátu "hh" vypíše hodnotu vlastnosti TimeSpan.Hours, která představuje počet celých hodin v časovém intervalu, který se nepočítá jako součást jeho denní komponenty. Pro hodnoty od 0 do 9 obsahuje výstupní řetězec úvodní nulu.
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. K interpretaci číselného řetězce jako počtu hodin můžete použít specifikátor vlastního formátu "hh". V následujícím příkladu je uvedena ukázka.
string value = "08";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "hh", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
// The example displays the following output:
// 08:00:00
Dim value As String = "08"
Dim interval As TimeSpan
If TimeSpan.TryParseExact(value, "hh", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
' The example displays the following output:
' 08:00:00
Následující příklad ukazuje použití specifikátoru vlastního formátu "hh".
TimeSpan ts1 = new TimeSpan(14, 3, 17);
Console.WriteLine(ts1.ToString(@"d\.hh\:mm\:ss"));
TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine(ts2.ToString(@"d\.hh\:mm\:ss"));
// The example displays the following output:
// 0.14:03:17
// 3.04:03:17
Dim ts1 As New TimeSpan(14, 3, 17)
Console.WriteLine(ts1.ToString("d\.hh\:mm\:ss"))
Dim ts2 As New TimeSpan(3, 4, 3, 17)
Console.WriteLine(ts2.ToString("d\.hh\:mm\:ss"))
' The example displays the following output:
' 0.14:03:17
' 3.04:03:17
Specifikátor vlastního formátu "m"
Specifikátor vlastního formátu "m" vypíše hodnotu vlastnosti TimeSpan.Minutes, která představuje počet celých minut v časovém intervalu, který se nepočítá jako součást jeho denní komponenty. Vrátí hodnotu řetězce s jednou číslicí, pokud je hodnota vlastnosti TimeSpan.Minutes 0 až 9 a vrátí hodnotu řetězce se dvěma číslicemi, pokud hodnota vlastnosti TimeSpan.Minutes rozsahu od 10 do 59.
Pokud se specifikátor vlastního formátu "m" použije samostatně, zadejte "%m", aby nebyl chybně interpretován jako standardní formátovací řetězec. V následujícím příkladu je uvedena ukázka.
TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine($"{ts:%h} hours {ts:%m} minutes");
// The example displays the following output:
// 3 hours 42 minutes
Dim ts As New TimeSpan(3, 42, 0)
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts)
' The example displays the following output:
' 3 hours 42 minutes
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. K interpretaci číselného řetězce jako počtu minut můžete použít specifikátor vlastního formátu "%m". V následujícím příkladu je uvedena ukázka.
string value = "3";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%m", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
// The example displays the following output:
// 00:03:00
Dim value As String = "3"
Dim interval As TimeSpan
If TimeSpan.TryParseExact(value, "%m", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
' The example displays the following output:
' 00:03:00
Následující příklad znázorňuje použití specifikátoru vlastního formátu "m".
TimeSpan ts1 = new TimeSpan(0, 6, 32);
Console.WriteLine($"{ts1:m\\:ss} minutes");
TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine($"Elapsed time: {ts2:m\\:ss}");
// The example displays the following output:
// 6:32 minutes
// Elapsed time: 18:44
Dim ts1 As New TimeSpan(0, 6, 32)
Console.WriteLine("{0:m\:ss} minutes", ts1)
Dim ts2 As New TimeSpan(0, 18, 44)
Console.WriteLine("Elapsed time: {0:m\:ss}", ts2)
' The example displays the following output:
' 6:32 minutes
' Elapsed time: 18:44
Specifikátor vlastního formátu "mm"
Specifikátor vlastního formátu "mm" vypíše hodnotu vlastnosti TimeSpan.Minutes, která představuje počet celých minut v časovém intervalu, který není součástí jeho hodin nebo dnů. Pro hodnoty od 0 do 9 obsahuje výstupní řetězec úvodní nulu.
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. Specifikátor vlastního formátu "mm" můžete místo toho použít k interpretaci číselného řetězce jako počtu minut. V následujícím příkladu je uvedena ukázka.
string value = "07";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "mm", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
// The example displays the following output:
// 00:07:00
Dim value As String = "05"
Dim interval As TimeSpan
If TimeSpan.TryParseExact(value, "mm", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
' The example displays the following output:
' 00:05:00
Následující příklad ukazuje použití specifikátoru vlastního formátu "mm".
TimeSpan departTime = new TimeSpan(11, 12, 00);
TimeSpan arriveTime = new TimeSpan(16, 28, 00);
Console.WriteLine($"Travel time: {arriveTime - departTime:hh\\:mm}");
// The example displays the following output:
// Travel time: 05:16
Dim departTime As New TimeSpan(11, 12, 00)
Dim arriveTime As New TimeSpan(16, 28, 00)
Console.WriteLine("Travel time: {0:hh\:mm}",
arriveTime - departTime)
' The example displays the following output:
' Travel time: 05:16
Specifikátor vlastního formátu "s"
Specifikátor vlastního formátu "s" vypíše hodnotu vlastnosti TimeSpan.Seconds, která představuje počet celých sekund v časovém intervalu, který není součástí jeho hodin, dnů nebo minut. Vrátí hodnotu řetězce s jednou číslicí, pokud je hodnota vlastnosti TimeSpan.Seconds 0 až 9 a vrátí hodnotu řetězce se dvěma číslicemi, pokud hodnota vlastnosti TimeSpan.Seconds rozsahu od 10 do 59.
Pokud se specifikátor vlastního formátu "s" používá samostatně, zadejte "%s", aby nebyl chybně interpretován jako standardní formátovací řetězec. V následujícím příkladu je uvedena ukázka.
TimeSpan ts = TimeSpan.FromSeconds(12.465);
Console.WriteLine(ts.ToString("%s"));
// The example displays the following output:
// 12
Dim ts As TimeSpan = TimeSpan.FromSeconds(12.465)
Console.WriteLine(ts.ToString("%s"))
' The example displays the following output:
' 12
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. K interpretaci číselného řetězce jako počtu sekund můžete použít specifikátor vlastního formátu "%s". V následujícím příkladu je uvedena ukázka.
string value = "9";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%s", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
// The example displays the following output:
// 00:00:09
Dim value As String = "9"
Dim interval As TimeSpan
If TimeSpan.TryParseExact(value, "%s", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
' The example displays the following output:
' 00:00:09
Následující příklad ukazuje použití specifikátoru vlastního formátu "s".
TimeSpan startTime = new TimeSpan(0, 12, 30, 15, 0);
TimeSpan endTime = new TimeSpan(0, 12, 30, 21, 3);
Console.WriteLine(@"Elapsed Time: {0:s\:fff} seconds",
endTime - startTime);
// The example displays the following output:
// Elapsed Time: 6:003 seconds
Dim startTime As New TimeSpan(0, 12, 30, 15, 0)
Dim endTime As New TimeSpan(0, 12, 30, 21, 3)
Console.WriteLine("Elapsed Time: {0:s\:fff} seconds",
endTime - startTime)
' The example displays the following output:
' Elapsed Time: 6:003 seconds
Specifikátor vlastního formátu "ss"
Specifikátor vlastního formátu "ss" vypíše hodnotu vlastnosti TimeSpan.Seconds, která představuje počet celých sekund v časovém intervalu, který není součástí jeho hodin, dnů nebo minut. Pro hodnoty od 0 do 9 obsahuje výstupní řetězec úvodní nulu.
Obvykle se v operaci analýzy interpretuje vstupní řetězec, který obsahuje pouze jedno číslo, jako počet dnů. Specifikátor vlastního formátu "ss" můžete místo toho použít k interpretaci číselného řetězce jako počtu sekund. V následujícím příkladu je uvedena ukázka.
string[] values = { "49", "9", "06" };
TimeSpan interval;
foreach (string value in values)
{
if (TimeSpan.TryParseExact(value, "ss", null, out interval))
Console.WriteLine(interval.ToString("c"));
else
Console.WriteLine($"Unable to convert '{value}' to a time interval");
}
// The example displays the following output:
// 00:00:49
// Unable to convert '9' to a time interval
// 00:00:06
Dim values() As String = {"49", "9", "06"}
Dim interval As TimeSpan
For Each value As String In values
If TimeSpan.TryParseExact(value, "ss", Nothing, interval) Then
Console.WriteLine(interval.ToString("c"))
Else
Console.WriteLine("Unable to convert '{0}' to a time interval",
value)
End If
Next
' The example displays the following output:
' 00:00:49
' Unable to convert '9' to a time interval
' 00:00:06
Následující příklad ukazuje použití specifikátoru vlastního formátu "ss".
TimeSpan interval1 = TimeSpan.FromSeconds(12.60);
Console.WriteLine(interval1.ToString(@"ss\.fff"));
TimeSpan interval2 = TimeSpan.FromSeconds(6.485);
Console.WriteLine(interval2.ToString(@"ss\.fff"));
// The example displays the following output:
// 12.600
// 06.485
Dim interval1 As TimeSpan = TimeSpan.FromSeconds(12.60)
Console.WriteLine(interval1.ToString("ss\.fff"))
Dim interval2 As TimeSpan = TimeSpan.FromSeconds(6.485)
Console.WriteLine(interval2.ToString("ss\.fff"))
' The example displays the following output:
' 12.600
' 06.485
Specifikátor vlastního formátu "f"
Specifikátor vlastního formátu "f" vypíše desetiny sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, musí vstupní řetězec obsahovat přesně jednu desetinnou číslici.
Pokud se specifikátor vlastního formátu "f" používá samostatně, zadejte "%f", aby nebyl chybně interpretován jako standardní formátovací řetězec.
Následující příklad používá specifikátor vlastního formátu "f" k zobrazení desetiny sekundy v hodnotě TimeSpan. "f" se použije jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "ff"
Specifikátor vlastního formátu "ff" vypíše setiny sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při analýze operace, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, musí vstupní řetězec obsahovat přesně dvě desetinné číslice.
Následující příklad používá specifikátor vlastního formátu "ff" k zobrazení stovek sekundy v hodnotě TimeSpan. "ff" se použije jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "fff"
Specifikátor vlastního formátu "fff" (se třemi znaky "f") vypíše milisekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, musí vstupní řetězec obsahovat přesně tři desetinné číslice.
Následující příklad používá specifikátor vlastního formátu "fff" k zobrazení milisekund v TimeSpan hodnotu. "fff" se použije jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "ffff"
Specifikátor vlastního formátu "ffff" (se čtyřmi znaky "f") vypíše desetitisíce sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, musí vstupní řetězec obsahovat přesně čtyři desetinné číslice.
Následující příklad používá specifikátor vlastního formátu "ffff" k zobrazení desetitisíc sekundy v hodnotě TimeSpan. "ffff" se použije jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "fffff"
Specifikátor vlastního formátu "fffff" (s pěti znaky "f") vypíše stotisíce sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při analýze operace, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, musí vstupní řetězec obsahovat přesně pět desetinných číslic.
Následující příklad používá specifikátor vlastního formátu "fffff" k zobrazení stotisíc sekundy v hodnotě TimeSpan. "fffff" se použije jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "ffffff"
Specifikátor vlastního formátu "ffffff" (se šesti znaky "f" vypíše miliont sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Při operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, musí vstupní řetězec obsahovat přesně šest desetinných číslic.
Následující příklad používá specifikátor vlastního formátu "ffffff" k zobrazení milionthů sekundy v hodnotě TimeSpan. Použije se jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "fffffff"
Specifikátor vlastního formátu "fffffff" (se sedmi znaky "f") vypíše desetimilionty sekundy (nebo desetinný počet ticků) v časovém intervalu. Při operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, musí vstupní řetězec obsahovat přesně sedm desetinných číslic.
Následující příklad používá specifikátor vlastního formátu "fffffff" k zobrazení desetinného počtu záškrtů v TimeSpan hodnoty. Použije se jako jediný specifikátor formátu a pak se zkombinuje se specifikátorem "s" v řetězci vlastního formátu.
TimeSpan ts = new TimeSpan(1003498765432);
string fmt;
Console.WriteLine(ts.ToString("c"));
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = new string('f', ctr);
if (fmt.Length == 1) fmt = "%" + fmt;
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
Console.WriteLine();
for (int ctr = 1; ctr <= 7; ctr++) {
fmt = $"s\\.{new string('f', ctr)}";
Console.WriteLine($"{fmt,10}: {ts.ToString(fmt)}");
}
// The example displays the following output:
// %f: 8
// ff: 87
// fff: 876
// ffff: 8765
// fffff: 87654
// ffffff: 876543
// fffffff: 8765432
//
// s\.f: 29.8
// s\.ff: 29.87
// s\.fff: 29.876
// s\.ffff: 29.8765
// s\.fffff: 29.87654
// s\.ffffff: 29.876543
// s\.fffffff: 29.8765432
Dim ts As New TimeSpan(1003498765432)
Dim fmt As String
Console.WriteLine(ts.ToString("c"))
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
If fmt.Length = 1 Then fmt = "%" + fmt
Console.WriteLine("{0,10}: {1:" + fmt + "}", fmt, ts)
Next
Console.WriteLine()
For ctr = 1 To 7
fmt = New String("f"c, ctr)
Console.WriteLine("{0,10}: {1:s\." + fmt + "}", "s\." + fmt, ts)
Next
' The example displays the following output:
' %f: 8
' ff: 87
' fff: 876
' ffff: 8765
' fffff: 87654
' ffffff: 876543
' fffffff: 8765432
'
' s\.f: 29.8
' s\.ff: 29.87
' s\.fff: 29.876
' s\.ffff: 29.8765
' s\.fffff: 29.87654
' s\.ffffff: 29.876543
' s\.fffffff: 29.8765432
Specifikátor vlastního formátu "F"
Specifikátor vlastního formátu "F" vypíše desetiny sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud je hodnota desetin sekundy časového intervalu nula, není zahrnuta do výsledného řetězce. V operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, je přítomnost desátých sekund druhé číslice volitelná.
Pokud se specifikátor vlastního formátu "F" používá samostatně, zadejte "%F", aby nebyl chybně interpretován jako standardní formátovací řetězec.
Následující příklad používá specifikátor vlastního formátu "F" k zobrazení desetiny sekundy v TimeSpan hodnoty. Používá také tento specifikátor vlastního formátu v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.669");
Console.WriteLine($"{ts1} ('%F') --> {ts1:%F}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.091");
Console.WriteLine($"{ts2} ('ss\\.F') --> {ts2:ss\\.F}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.1", "0:0:03.12" };
string fmt = @"h\:m\:ss\.F";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6690000 ('%F') --> 6
// 00:00:03.0910000 ('ss\.F') --> 03.
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.F') --> 00:00:03
// 0:0:03.1 ('h\:m\:ss\.F') --> 00:00:03.1000000
// Cannot parse 0:0:03.12 with 'h\:m\:ss\.F'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.669")
Console.WriteLine("{0} ('%F') --> {0:%F}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.091")
Console.WriteLine("{0} ('ss\.F') --> {0:ss\.F}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.1", "0:0:03.12"}
Dim fmt As String = "h\:m\:ss\.F"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6690000 ('%F') --> 6
' 00:00:03.0910000 ('ss\.F') --> 03.
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.F') --> 00:00:03
' 0:0:03.1 ('h\:m\:ss\.F') --> 00:00:03.1000000
' Cannot parse 0:0:03.12 with 'h\:m\:ss\.F'.
Specifikátor vlastního formátu "FF"
Specifikátor vlastního formátu "FF" vypíše setiny sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, je přítomnost desátých a stovek druhé číslice volitelná.
Následující příklad používá specifikátor vlastního formátu "FF" k zobrazení stovek sekundy v hodnotě TimeSpan. Používá také tento specifikátor vlastního formátu v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697");
Console.WriteLine($"{ts1} ('FF') --> {ts1:FF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.809");
Console.WriteLine($"{ts2} ('ss\\.FF') --> {ts2:ss\\.FF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.1", "0:0:03.127" };
string fmt = @"h\:m\:ss\.FF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6970000 ('FF') --> 69
// 00:00:03.8090000 ('ss\.FF') --> 03.8
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FF') --> 00:00:03
// 0:0:03.1 ('h\:m\:ss\.FF') --> 00:00:03.1000000
// Cannot parse 0:0:03.127 with 'h\:m\:ss\.FF'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.697")
Console.WriteLine("{0} ('FF') --> {0:FF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.809")
Console.WriteLine("{0} ('ss\.FF') --> {0:ss\.FF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.1", "0:0:03.127"}
Dim fmt As String = "h\:m\:ss\.FF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6970000 ('FF') --> 69
' 00:00:03.8090000 ('ss\.FF') --> 03.8
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FF') --> 00:00:03
' 0:0:03.1 ('h\:m\:ss\.FF') --> 00:00:03.1000000
' Cannot parse 0:0:03.127 with 'h\:m\:ss\.FF'.
Specifikátor vlastního formátu "FFF"
Specifikátor vlastního formátu "FFF" (se třemi znaky F) vypíše milisekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, je přítomnost desátých, setny a tisícíny druhé číslice volitelná.
Následující příklad používá specifikátor vlastního formátu "FFF" k zobrazení tisící sekundy v TimeSpan hodnotě. Používá také tento specifikátor vlastního formátu v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974");
Console.WriteLine($"{ts1} ('FFF') --> {ts1:FFF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.8009");
Console.WriteLine($"{ts2} ('ss\\.FFF') --> {ts2:ss\\.FFF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279" };
string fmt = @"h\:m\:ss\.FFF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6974000 ('FFF') --> 697
// 00:00:03.8009000 ('ss\.FFF') --> 03.8
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FFF') --> 00:00:03
// 0:0:03.12 ('h\:m\:ss\.FFF') --> 00:00:03.1200000
// Cannot parse 0:0:03.1279 with 'h\:m\:ss\.FFF'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.6974")
Console.WriteLine("{0} ('FFF') --> {0:FFF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.8009")
Console.WriteLine("{0} ('ss\.FFF') --> {0:ss\.FFF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.12", "0:0:03.1279"}
Dim fmt As String = "h\:m\:ss\.FFF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6974000 ('FFF') --> 697
' 00:00:03.8009000 ('ss\.FFF') --> 03.8
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FFF') --> 00:00:03
' 0:0:03.12 ('h\:m\:ss\.FFF') --> 00:00:03.1200000
' Cannot parse 0:0:03.1279 with 'h\:m\:ss\.FFF'.
Specifikátor vlastního formátu "FFFF"
Specifikátor vlastního formátu "FFFF" (se čtyřmi znaky F) vypíše desetitisíce sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, je přítomnost desátých, setných, tisící a desetitisíců druhé číslice volitelná.
Následující příklad používá specifikátor vlastního formátu "FFFF" k zobrazení desetitisíc sekundy v TimeSpan hodnotě. Používá také specifikátor vlastního formátu "FFFF" v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.69749");
Console.WriteLine($"{ts1} ('FFFF') --> {ts1:FFFF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.80009");
Console.WriteLine($"{ts2} ('ss\\.FFFF') --> {ts2:ss\\.FFFF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.12795" };
string fmt = @"h\:m\:ss\.FFFF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6974900 ('FFFF') --> 6974
// 00:00:03.8000900 ('ss\.FFFF') --> 03.8
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
// 0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
// Cannot parse 0:0:03.12795 with 'h\:m\:ss\.FFFF'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.69749")
Console.WriteLine("{0} ('FFFF') --> {0:FFFF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.80009")
Console.WriteLine("{0} ('ss\.FFFF') --> {0:ss\.FFFF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.12", "0:0:03.12795"}
Dim fmt As String = "h\:m\:ss\.FFFF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6974900 ('FFFF') --> 6974
' 00:00:03.8000900 ('ss\.FFFF') --> 03.8
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
' 0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
' Cannot parse 0:0:03.12795 with 'h\:m\:ss\.FFFF'.
Specifikátor vlastního formátu "FFFFF"
Specifikátor vlastního formátu "FFFFF" (s pěti znaky "F") vypíše stotisíce sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, je přítomnost desátých, setiny, tisíciny, desetitisíce a stotisíce druhé číslice volitelná.
Následující příklad používá specifikátor vlastního formátu "FFFFF" k zobrazení stotisíc sekundy v hodnotě TimeSpan. Používá také specifikátor vlastního formátu "FFFFF" v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697497");
Console.WriteLine($"{ts1} ('FFFFF') --> {ts1:FFFFF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.800009");
Console.WriteLine($"{ts2} ('ss\\.FFFFF') --> {ts2:ss\\.FFFFF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.127956" };
string fmt = @"h\:m\:ss\.FFFFF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6974970 ('FFFFF') --> 69749
// 00:00:03.8000090 ('ss\.FFFFF') --> 03.8
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
// 0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
// Cannot parse 0:0:03.127956 with 'h\:m\:ss\.FFFF'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.697497")
Console.WriteLine("{0} ('FFFFF') --> {0:FFFFF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.800009")
Console.WriteLine("{0} ('ss\.FFFFF') --> {0:ss\.FFFFF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.12", "0:0:03.127956"}
Dim fmt As String = "h\:m\:ss\.FFFFF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6974970 ('FFFFF') --> 69749
' 00:00:03.8000090 ('ss\.FFFFF') --> 03.8
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FFFF') --> 00:00:03
' 0:0:03.12 ('h\:m\:ss\.FFFF') --> 00:00:03.1200000
' Cannot parse 0:0:03.127956 with 'h\:m\:ss\.FFFF'.
Specifikátor vlastního formátu "FFFFFF"
Specifikátor vlastního formátu "FFFFFF" (se šesti znaky "F") vypíše miliont sekundy v časovém intervalu. V operaci formátování jsou všechny zbývající desetinné číslice zkráceny. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá metodu TimeSpan.ParseExact nebo TimeSpan.TryParseExact, je přítomnost desátých, setth, tisící, desetitisíců, stotisíců a miliontin druhé číslice nepovinná.
Následující příklad používá specifikátor vlastního formátu "FFFFFF" k zobrazení milionths sekundy v hodnotě TimeSpan. Používá také tento specifikátor vlastního formátu v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine($"{ts1} ('FFFFFF') --> {ts1:FFFFFF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.8000009");
Console.WriteLine($"{ts2} ('ss\\.FFFFFF') --> {ts2:ss\\.FFFFFF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279569" };
string fmt = @"h\:m\:ss\.FFFFFF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6974974 ('FFFFFF') --> 697497
// 00:00:03.8000009 ('ss\.FFFFFF') --> 03.8
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FFFFFF') --> 00:00:03
// 0:0:03.12 ('h\:m\:ss\.FFFFFF') --> 00:00:03.1200000
// Cannot parse 0:0:03.1279569 with 'h\:m\:ss\.FFFFFF'.
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.6974974")
Console.WriteLine("{0} ('FFFFFF') --> {0:FFFFFF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.8000009")
Console.WriteLine("{0} ('ss\.FFFFFF') --> {0:ss\.FFFFFF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.12", "0:0:03.1279569"}
Dim fmt As String = "h\:m\:ss\.FFFFFF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6974974 ('FFFFFF') --> 697497
' 00:00:03.8000009 ('ss\.FFFFFF') --> 03.8
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FFFFFF') --> 00:00:03
' 0:0:03.12 ('h\:m\:ss\.FFFFFF') --> 00:00:03.1200000
' Cannot parse 0:0:03.1279569 with 'h\:m\:ss\.FFFFFF'.
Specifikátor vlastního formátu "FFFFFFF"
Specifikátor vlastního formátu "FFFFFFF" (se sedmi znaky "F") vypíše desetimilionty sekundy (nebo desetinný počet impulzů) v časovém intervalu. Pokud jsou koncové desetinné nuly, nebudou zahrnuty do výsledného řetězce. V operaci analýzy, která volá TimeSpan.ParseExact nebo TimeSpan.TryParseExact metodu, je přítomnost sedmi desetinných číslic ve vstupním řetězci volitelná.
Následující příklad používá specifikátor vlastního formátu "FFFFFFF" k zobrazení zlomkové části sekundy v hodnotě TimeSpan. Používá také tento specifikátor vlastního formátu v operaci analýzy.
Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine($"{ts1} ('FFFFFFF') --> {ts1:FFFFFFF}");
TimeSpan ts2 = TimeSpan.Parse("0:0:3.9500000");
Console.WriteLine($"{ts2} ('ss\\.FFFFFFF') --> {ts2:ss\\.FFFFFFF}");
Console.WriteLine();
Console.WriteLine("Parsing:");
string[] inputs = { "0:0:03.", "0:0:03.12", "0:0:03.1279569" };
string fmt = @"h\:m\:ss\.FFFFFFF";
TimeSpan ts3;
foreach (string input in inputs) {
if (TimeSpan.TryParseExact(input, fmt, null, out ts3))
Console.WriteLine($"{input} ('{fmt}') --> {ts3}");
else
Console.WriteLine($"Cannot parse {input} with '{fmt}'.");
}
// The example displays the following output:
// Formatting:
// 00:00:03.6974974 ('FFFFFFF') --> 6974974
// 00:00:03.9500000 ('ss\.FFFFFFF') --> 03.95
//
// Parsing:
// 0:0:03. ('h\:m\:ss\.FFFFFFF') --> 00:00:03
// 0:0:03.12 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1200000
// 0:0:03.1279569 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1279569
Console.WriteLine("Formatting:")
Dim ts1 As TimeSpan = TimeSpan.Parse("0:0:3.6974974")
Console.WriteLine("{0} ('FFFFFFF') --> {0:FFFFFFF}", ts1)
Dim ts2 As TimeSpan = TimeSpan.Parse("0:0:3.9500000")
Console.WriteLine("{0} ('ss\.FFFFFFF') --> {0:ss\.FFFFFFF}", ts2)
Console.WriteLine()
Console.WriteLine("Parsing:")
Dim inputs() As String = {"0:0:03.", "0:0:03.12", "0:0:03.1279569"}
Dim fmt As String = "h\:m\:ss\.FFFFFFF"
Dim ts3 As TimeSpan
For Each input As String In inputs
If TimeSpan.TryParseExact(input, fmt, Nothing, ts3)
Console.WriteLine("{0} ('{1}') --> {2}", input, fmt, ts3)
Else
Console.WriteLine("Cannot parse {0} with '{1}'.",
input, fmt)
End If
Next
' The example displays the following output:
' Formatting:
' 00:00:03.6974974 ('FFFFFFF') --> 6974974
' 00:00:03.9500000 ('ss\.FFFFFFF') --> 03.95
'
' Parsing:
' 0:0:03. ('h\:m\:ss\.FFFFFFF') --> 00:00:03
' 0:0:03.12 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1200000
' 0:0:03.1279569 ('h\:m\:ss\.FFFFFFF') --> 00:00:03.1279569
Další znaky
Jakýkoli jiný nepoupravený znak ve formátovacím řetězci, včetně prázdného znaku, se interpretuje jako specifikátor vlastního formátu. Ve většině případů je přítomnost jakéhokoli jiného nepoužívovaného znaku výsledkem FormatException.
Existují dva způsoby, jak do řetězce formátu zahrnout literálový znak:
Uzavřete ho do jednoduchých uvozovek (oddělovač literálových řetězců).
Před něj zadejte zpětné lomítko ("\"), které se interpretuje jako řídicí znak. To znamená, že v jazyce C# musí být řetězec formátu buď @-quoted, nebo literál musí předcházet další zpětné lomítko.
V některých případech může být nutné použít podmíněnou logiku k zahrnutí řídicího literálu do řetězce formátu. Následující příklad používá podmíněnou logiku k zahrnutí symbolu znaménka pro záporné časové intervaly.
using System; public class Example { public static void Main() { TimeSpan result = new DateTime(2010, 01, 01) - DateTime.Now; String fmt = (result < TimeSpan.Zero ? "\\-" : "") + "dd\\.hh\\:mm"; Console.WriteLine(result.ToString(fmt)); Console.WriteLine($"Interval: {result.ToString(fmt)}"); } } // The example displays output like the following: // -5582.12:21 // Interval: -5582.12:21Module Example Public Sub Main() Dim result As TimeSpan = New DateTime(2010, 01, 01) - Date.Now Dim fmt As String = If(result < TimeSpan.Zero, "\-", "") + "dd\.hh\:mm" Console.WriteLine(result.ToString(fmt)) Console.WriteLine("Interval: {0:" + fmt + "}", result) End Sub End Module ' The example displays output like the following: ' -1291.10:54 ' Interval: -1291.10:54
.NET nedefinuje gramatiku pro oddělovače v časových intervalech. To znamená, že oddělovače mezi dny a hodinami, hodinami a minutami, minutami a sekundami a zlomky sekundy musí být považovány za literály znaků v řetězci formátu.
Následující příklad používá řídicí znak i jednoduchou uvozovku k definování řetězce vlastního formátu, který obsahuje slovo "minutes" ve výstupním řetězci.
TimeSpan interval = new TimeSpan(0, 32, 45);
// Escape literal characters in a format string.
string fmt = @"mm\:ss\ \m\i\n\u\t\e\s";
Console.WriteLine(interval.ToString(fmt));
// Delimit literal characters in a format string with the ' symbol.
fmt = "mm':'ss' minutes'";
Console.WriteLine(interval.ToString(fmt));
// The example displays the following output:
// 32:45 minutes
// 32:45 minutes
Dim interval As New TimeSpan(0, 32, 45)
' Escape literal characters in a format string.
Dim fmt As String = "mm\:ss\ \m\i\n\u\t\e\s"
Console.WriteLine(interval.ToString(fmt))
' Delimit literal characters in a format string with the ' symbol.
fmt = "mm':'ss' minutes'"
Console.WriteLine(interval.ToString(fmt))
' The example displays the following output:
' 32:45 minutes
' 32:45 minutes
Viz také
- typy formátování
- standardní řetězce formátu TimeSpan