Delen via


Tekenreeksen met aangepaste TimeSpan-indeling

Een TimeSpan opmaaktekenreeks definieert de tekenreeksweergave van een TimeSpan waarde die het resultaat is van een opmaakbewerking. Een tekenreeks voor aangepaste notatie bestaat uit een of meer aangepaste TimeSpan notatieaanduidingen, samen met een willekeurig aantal letterlijke tekens. Tekenreeksen die geen tekenreeks in de standaardtijdspanne-indeling zijn, worden geïnterpreteerd als een aangepaste TimeSpan notatietekenreeks.

Belangrijk

De aanduidingen voor aangepaste TimeSpan notatie bevatten geen tijdelijke aanduidingen voor scheidingstekens, zoals de symbolen die dagen van uren, uren van minuten of seconden van fractionele seconden scheiden. In plaats daarvan moeten deze symbolen worden opgenomen in de tekenreeks met aangepaste notatie als letterlijke tekenreeksen. Definieert bijvoorbeeld "dd\.hh\:mm" een punt (.) als het scheidingsteken tussen dagen en uren, en een dubbele punt (:) als scheidingsteken tussen uren en minuten.

Aangepaste TimeSpan opmaakaanduidingen bevatten ook geen tekensymbool waarmee u onderscheid kunt maken tussen negatieve en positieve tijdsintervallen. Als u een tekensymbool wilt opnemen, moet u een opmaaktekenreeks maken met behulp van voorwaardelijke logica. De sectie Andere tekens bevat een voorbeeld.

De tekenreeksweergaven van TimeSpan waarden worden geproduceerd door aanroepen naar de overloads van de TimeSpan.ToString methode en door methoden die samengestelde opmaak ondersteunen, zoals String.Format. Zie Opmaaktypen en Samengestelde opmaak voor meer informatie. In het volgende voorbeeld ziet u het gebruik van tekenreeksen voor aangepaste indelingen in opmaakbewerkingen.

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: {0:%d} day(s)", duration);
      Console.WriteLine("Time of Travel: {0:dd\\.hh\\:mm\\:ss} days", duration);
   }
}
// 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

Tekenreeksen voor aangepaste TimeSpan notatie worden ook gebruikt door de TimeSpan.ParseExact methoden en TimeSpan.TryParseExact om de vereiste indeling van invoerreeksen voor parseringsbewerkingen te definiëren. (Parseren converteert de tekenreeksweergave van een waarde naar die waarde.) In het volgende voorbeeld ziet u het gebruik van tekenreeksen in de standaardindeling bij parseringsbewerkingen.

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("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", value);

      value = "16:32.05";
      if (TimeSpan.TryParseExact(value, @"mm\:ss\.ff", null, out interval))
         Console.WriteLine("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", value);

      value= "12.035";
      if (TimeSpan.TryParseExact(value, "ss\\.fff", null, out interval))
         Console.WriteLine("{0} --> {1}", value, interval.ToString("c"));
      else
         Console.WriteLine("Unable to parse '{0}'", 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

In de volgende tabel worden de aangepaste datum- en tijdnotatieaanduidingen beschreven.

Opmaakaanduiding Beschrijving Voorbeeld
"d", "%d" Het aantal hele dagen in het tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'd'.
new TimeSpan(6, 14, 32, 17, 685):

%d --> "6"

d\.hh\:mm --> "6.14:32"
"dd"-"dddddddd" Het aantal hele dagen in het tijdsinterval, indien nodig opgevuld met voorloopnullen.

Meer informatie: De aangepaste indelingsaanduidingen 'ddddd'.
new TimeSpan(6, 14, 32, 17, 685):

ddd --> "006"

dd\.hh\:mm --> "06.14:32"
"h", "%h" Het aantal hele uren in het tijdsinterval dat niet wordt geteld als onderdeel van dagen. Uren met één cijfer hebben geen voorloopnul.

Meer informatie: De aanduiding voor aangepaste indeling 'h'.
new TimeSpan(6, 14, 32, 17, 685):

%h --> "14"

hh\:mm --> "14:32"
"hh" Het aantal hele uren in het tijdsinterval dat niet wordt geteld als onderdeel van dagen. Uren met één cijfer hebben een voorloopnul.

Meer informatie: De aanduiding "hh" aangepaste indeling.
new TimeSpan(6, 14, 32, 17, 685):

hh --> "14"

new TimeSpan(6, 8, 32, 17, 685):

hh --> 08
"m", "%m" Het aantal hele minuten in het tijdsinterval dat niet is opgenomen als onderdeel van uren of dagen. Minuten met één cijfer hebben geen voorloopnul.

Meer informatie: De aanduiding voor aangepaste notatie 'm'.
new TimeSpan(6, 14, 8, 17, 685):

%m --> "8"

h\:m --> "14:8"
"mm" Het aantal hele minuten in het tijdsinterval dat niet is opgenomen als onderdeel van uren of dagen. Minuten met één cijfer hebben een voorloopnul.

Meer informatie: De aangepaste notatieaanduiding '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" Het aantal hele seconden in het tijdsinterval dat niet is opgenomen als onderdeel van uren, dagen of minuten. Seconden met één cijfer hebben geen voorloopnul.

Meer informatie: De aangepaste indelingsaanduiding 's'.
TimeSpan.FromSeconds(12.965):

%s --> 12

s\.fff --> 12.965
"ss" Het aantal hele seconden in het tijdsinterval dat niet is opgenomen als onderdeel van uren, dagen of minuten. Seconden met één cijfer hebben een voorloopnul.

Meer informatie: De aanduiding voor aangepaste indeling 'ss'.
TimeSpan.FromSeconds(6.965):

ss --> 06

ss\.fff --> 06.965
"f", "%f" De tienden van een seconde in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'f'.
TimeSpan.FromSeconds(6.895):

f --> 8

ss\.f --> 06,8
"ff" De honderdsten van een seconde in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'ff'.
TimeSpan.FromSeconds(6.895):

ff --> 89

ss\.ff --> 06,89
"fff" De milliseconden in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'fff'.
TimeSpan.FromSeconds(6.895):

fff --> 895

ss\.fff --> 06.895
"ffff" De tienduizendste van een seconde in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'ffff'.
TimeSpan.Parse("0:0:6.8954321"):

ffff --> 8954

ss\.ffff --> 06,8954
"fffff" De honderdduizendste van een seconde in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'fffff'.
TimeSpan.Parse("0:0:6.8954321"):

fffff --> 89543

ss\.fffff --> 06,89543
"ffffff" De miljoenste van een seconde in een tijdsinterval.

Meer informatie: De aanduiding 'ffffff' aangepaste indeling.
TimeSpan.Parse("0:0:6.8954321"):

ffffff --> 895432

ss\.ffffff --> 06,895432
"fffffff" De tien miljoenste van een seconde (of de breuktekens) in een tijdsinterval.

Meer informatie: De aanduiding voor aangepaste indeling 'fffffff'.
TimeSpan.Parse("0:0:6.8954321"):

fffffff --> 8954321

ss\.fffffff --> 06,8954321
"F", "%F" De tienden van een seconde in een tijdsinterval. Er wordt niets weergegeven als het cijfer nul is.

Meer informatie: De aanduiding voor aangepaste indeling 'F'.
TimeSpan.Parse("00:00:06.32"):

%F: 3

TimeSpan.Parse("0:0:3.091"):

ss\.F: 03.
"FF" De honderdsten van een seconde in een tijdsinterval. Eventuele eventuele eventuele afsluitende nullen of twee nultekens worden niet opgenomen.

Meer informatie: De aanduiding voor aangepaste FF-indeling.
TimeSpan.Parse("00:00:06.329"):

FF: 32

TimeSpan.Parse("0:0:3.101"):

ss\.FF: 03.1
"FFF" De milliseconden in een tijdsinterval. Eventuele naloopnullen voor breuken worden niet meegeleverd.

Meer informatie:
TimeSpan.Parse("00:00:06.3291"):

FFF: 329

TimeSpan.Parse("0:0:3.1009"):

ss\.FFF: 03.1
"FFFF" De tienduizendste van een seconde in een tijdsinterval. Eventuele naloopnullen voor breuken worden niet meegeleverd.

Meer informatie: De aanduiding voor aangepaste indeling 'FFFF'.
TimeSpan.Parse("00:00:06.32917"):

FFFFF: 3291

TimeSpan.Parse("0:0:3.10009"):

ss\.FFFF: 03.1
"FFFFF" De honderdduizendste van een seconde in een tijdsinterval. Eventuele naloopnullen voor breuken worden niet meegeleverd.

Meer informatie: De aangepaste indelingsaanduiding 'FFFFF'.
TimeSpan.Parse("00:00:06.329179"):

FFFFF: 32917

TimeSpan.Parse("0:0:3.100009"):

ss\.FFFFF: 03.1
"FFFFFF" De miljoenste van een seconde in een tijdsinterval. Eventuele breuknullen worden niet weergegeven.

Meer informatie: De aanduiding voor aangepaste indeling 'FFFFFF'.
TimeSpan.Parse("00:00:06.3291791"):

FFFFFF: 329179

TimeSpan.Parse("0:0:3.1000009"):

ss\.FFFFFF: 03.1
"FFFFFFF" De tien miljoen seconden in een tijdsinterval. Eventuele eventuele eventuele afsluitende nullen of zeven nullen worden niet weergegeven.

Meer informatie: De aanduiding voor aangepaste indeling 'FFFFFFF'.
TimeSpan.Parse("00:00:06.3291791"):

FFFFFF: 3291791

TimeSpan.Parse("0:0:3.1900000"):

ss\.FFFFFF: 03.19
'tekenreeks' Letterlijk tekenreeksscheidingsteken.

Meer informatie: Andere tekens.
new TimeSpan(14, 32, 17):

hh':'mm':'ss --> "14:32:17"
\ Het escape-teken.

Meer informatie: Andere tekens.
new TimeSpan(14, 32, 17):

hh\:mm\:ss --> "14:32:17"
Een ander teken Elk ander teken zonder opmaak wordt geïnterpreteerd als een aangepaste opmaakaanduiding.

Meer informatie: Andere tekens.
new TimeSpan(14, 32, 17):

hh\:mm\:ss --> "14:32:17"

De aangepaste indelingsaanduiding 'd'

De aangepaste notatieaanduiding 'd' voert de waarde van de TimeSpan.Days eigenschap uit, die het aantal hele dagen in het tijdsinterval aangeeft. Het volledige aantal dagen in een TimeSpan waarde wordt weergegeven, zelfs als de waarde meer dan één cijfer heeft. Als de waarde van de TimeSpan.Days eigenschap nul is, voert de aanduiding '0' uit.

Als de aangepaste notatieaanduiding 'd' alleen wordt gebruikt, geeft u %d op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks. Het volgende voorbeeld bevat een afbeelding.

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   

In het volgende voorbeeld ziet u het gebruik van de aangepaste indelingsaanduiding '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      

Terug naar tabel

De aangepaste indelingsaanduidingen "ddd"

De aangepaste notatieaanduidingen 'ddd', 'dddd', 'ddddd', 'dddddd', 'dddd' en 'ddddd' voeren de waarde van de TimeSpan.Days eigenschap uit, die het aantal hele dagen in het tijdsinterval vertegenwoordigt.

De uitvoertekenreeks bevat een minimum aantal cijfers dat is opgegeven door het aantal 'd'-tekens in de notatieaanduiding, en wordt indien nodig gevuld met voorloopnullen. Als de cijfers in het aantal dagen groter zijn dan het aantal d-tekens in de notatieaanduiding, wordt het volledige aantal dagen uitgevoerd in de resultaattekenreeks.

In het volgende voorbeeld worden deze indelingsaanduidingen gebruikt om de tekenreeksweergave van twee TimeSpan waarden weer te geven. De waarde van het dagen-onderdeel van het eerste tijdsinterval is nul; de waarde van het dagen-onderdeel van de tweede is 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("{0} --> {1:" + fmt + "}", fmt, ts1);
   Console.WriteLine("{0} --> {1:" + fmt + "}", fmt, ts2);
   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      

Terug naar tabel

De aangepaste indelingsaanduiding 'h'

De aangepaste notatieaanduiding 'h' voert de waarde van de TimeSpan.Hours eigenschap uit, die het aantal hele uren in het tijdsinterval aangeeft dat niet wordt geteld als onderdeel van het dagonderdeel. Deze retourneert een tekenreekswaarde van één cijfer als de waarde van de TimeSpan.Hours eigenschap 0 tot en met 9 is en retourneert een tekenreekswaarde van twee cijfers als de waarde van de TimeSpan.Hours eigenschap varieert van 10 tot 23.

Als de aangepaste notatieaanduiding 'h' alleen wordt gebruikt, geeft u '%h' op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks. Het volgende voorbeeld bevat een afbeelding.

TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts);
// 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

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding %h gebruiken om de numerieke tekenreeks te interpreteren als het aantal uren. Het volgende voorbeeld bevat een afbeelding.

string value = "8";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%h", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval",
                     value);
// 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                              

In het volgende voorbeeld ziet u het gebruik van de aangepaste indelingsaanduiding '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

Terug naar tabel

De aangepaste indelingsaanduiding 'hh'

De aangepaste hh-indelingsaanduiding voert de waarde van de TimeSpan.Hours eigenschap uit, die het aantal hele uren in het tijdsinterval vertegenwoordigt dat niet wordt geteld als onderdeel van het dagonderdeel. Voor waarden van 0 tot en met 9 bevat de uitvoertekenreeks een voorloopnul.

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding 'hh' gebruiken om de numerieke tekenreeks te interpreteren als het aantal uren. Het volgende voorbeeld bevat een afbeelding.

string value = "08";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "hh", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval",
                     value);
// 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                              

In het volgende voorbeeld ziet u het gebruik van de aangepaste indelingsaanduiding '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

Terug naar tabel

De aangepaste notatieaanduiding 'm'

De aangepaste notatieaanduiding 'm' voert de waarde van de TimeSpan.Minutes eigenschap uit, die het aantal hele minuten in het tijdsinterval vertegenwoordigt dat niet wordt geteld als onderdeel van het dagonderdeel. Deze retourneert een tekenreekswaarde van één cijfer als de waarde van de TimeSpan.Minutes eigenschap 0 tot en met 9 is en retourneert een tekenreekswaarde van twee cijfers als de waarde van de TimeSpan.Minutes eigenschap varieert van 10 tot 59.

Als de aangepaste notatieaanduiding 'm' alleen wordt gebruikt, geeft u '%m' op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks. Het volgende voorbeeld bevat een afbeelding.

TimeSpan ts = new TimeSpan(3, 42, 0);
Console.WriteLine("{0:%h} hours {0:%m} minutes", ts);
// 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

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding %m gebruiken om de numerieke tekenreeks te interpreteren als het aantal minuten. Het volgende voorbeeld bevat een afbeelding.

string value = "3";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%m", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval",
                     value);
// 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                              

In het volgende voorbeeld ziet u het gebruik van de aangepaste notatieaanduiding 'm'.

TimeSpan ts1 = new TimeSpan(0, 6, 32);
Console.WriteLine("{0:m\\:ss} minutes", ts1);

TimeSpan ts2 = new TimeSpan(3, 4, 3, 17);
Console.WriteLine("Elapsed time: {0:m\\:ss}", ts2);
// 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

Terug naar tabel

De aangepaste notatieaanduiding 'mm'

De aangepaste notatieaanduiding 'mm' voert de waarde van de TimeSpan.Minutes eigenschap uit, die het aantal hele minuten in het tijdsinterval vertegenwoordigt dat niet is opgenomen als onderdeel van het uren- of dagen-onderdeel. Voor waarden van 0 tot en met 9 bevat de uitvoertekenreeks een voorloopnul.

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding 'mm' gebruiken om de numerieke tekenreeks te interpreteren als het aantal minuten. Het volgende voorbeeld bevat een afbeelding.

string value = "07";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "mm", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval",
                     value);
// 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           

In het volgende voorbeeld ziet u het gebruik van de aangepaste notatieaanduiding 'mm'.

TimeSpan departTime = new TimeSpan(11, 12, 00);
TimeSpan arriveTime = new TimeSpan(16, 28, 00);
Console.WriteLine("Travel time: {0:hh\\:mm}",
                  arriveTime - departTime);
// 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      

Terug naar tabel

De aangepaste indelingsaanduiding 's'

Met de aangepaste indelingsaanduiding 's' wordt de waarde van de TimeSpan.Seconds eigenschap uitgevoerd, die het aantal hele seconden in het tijdsinterval vertegenwoordigt dat niet is opgenomen als onderdeel van het onderdeel uren, dagen of minuten. Deze retourneert een tekenreekswaarde van één cijfer als de waarde van de TimeSpan.Seconds eigenschap 0 tot en met 9 is en retourneert een tekenreekswaarde van twee cijfers als de waarde van de TimeSpan.Seconds eigenschap varieert van 10 tot 59.

Als de aangepaste indelingsaanduiding 's' alleen wordt gebruikt, geeft u '%s' op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks. Het volgende voorbeeld bevat een afbeelding.

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

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding %s gebruiken om de numerieke tekenreeks te interpreteren als het aantal seconden. Het volgende voorbeeld bevat een afbeelding.

string value = "9";
TimeSpan interval;
if (TimeSpan.TryParseExact(value, "%s", null, out interval))
   Console.WriteLine(interval.ToString("c"));
else
   Console.WriteLine("Unable to convert '{0}' to a time interval",
                     value);
// 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

In het volgende voorbeeld ziet u het gebruik van de aangepaste indelingsaanduiding '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      

Terug naar tabel

De aangepaste indelingsaanduiding 'ss'

De aangepaste indelingsaanduiding 'ss' voert de waarde van de TimeSpan.Seconds eigenschap uit, die het aantal hele seconden in het tijdsinterval vertegenwoordigt dat niet is opgenomen als onderdeel van het onderdeel uren, dagen of minuten. Voor waarden van 0 tot en met 9 bevat de uitvoertekenreeks een voorloopnul.

Normaal gesproken wordt in een parseerbewerking een invoertekenreeks die slechts één getal bevat geïnterpreteerd als het aantal dagen. U kunt in plaats daarvan de aangepaste notatieaanduiding 'ss' gebruiken om de numerieke tekenreeks te interpreteren als het aantal seconden. Het volgende voorbeeld bevat een afbeelding.

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 '{0}' to a time interval",
                        value);
}
// 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

In het volgende voorbeeld ziet u het gebruik van de aangepaste indelingsaanduiding '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

Terug naar tabel

De aangepaste indelingsaanduiding 'f'

De aangepaste indelingsaanduiding 'f' voert de tienden van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies één breukcijfer bevatten.

Als de aangepaste indelingsaanduiding 'f' alleen wordt gebruikt, geeft u '%f' op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'f' gebruikt om de tienden van een seconde in een TimeSpan waarde weer te geven. 'f' wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'ff'

De aangepaste indelingsaanduiding 'ff' voert de honderdste van een seconde uit in een tijdsinterval. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies twee breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'ff' gebruikt om de honderdsten van een seconde in een TimeSpan waarde weer te geven. 'ff' wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'fff'

De aangepaste indelingsaanduiding 'fff' (met drie 'f'-tekens) voert de milliseconden in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies drie breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'fff' gebruikt om de milliseconden in een TimeSpan waarde weer te geven. 'fff' wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'ffff'

De aangepaste notatieaanduiding 'ffff' (met vier 'f'-tekens) voert de tienduizendste van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies vier breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'ffff' gebruikt om de tienduizendste van een seconde in een TimeSpan waarde weer te geven. 'ffff' wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'fffff'

De aangepaste indelingsaanduiding 'fffff' (met vijf 'f'-tekens) voert de honderdduizendste van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies vijf breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'fffff' gebruikt om de honderdduizendste van een seconde in een TimeSpan waarde weer te geven. 'fffff' wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'ffffff'

De aangepaste notatieaanduiding 'ffffff' (met zes 'f'-tekens) voert de miljoenste van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies zes breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'ffffff' gebruikt om de miljoenste van een seconde in een TimeSpan waarde weer te geven. Het wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingsaanduiding 'fffffff'

De aangepaste notatieaanduiding 'fffffff' (met zeven 'f'-tekens) voert de tien miljoenste van een seconde (of het breukaantal tikken) in een tijdsinterval uit. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, moet de invoertekenreeks precies zeven breukcijfers bevatten.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'fffffff' gebruikt om het breukaantal tikken in een TimeSpan waarde weer te geven. Het wordt eerst gebruikt als de enige notatieaanduiding en vervolgens gecombineerd met de aanduiding 's' in een aangepaste notatietekenreeks.

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("{0,10}: {1:" + fmt + "}", fmt, ts);
}
Console.WriteLine();

for (int ctr = 1; ctr <= 7; ctr++) {
   fmt = new String('f', ctr);
   Console.WriteLine("{0,10}: {1:s\\." + fmt + "}", "s\\." + fmt, ts);
}
// 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

Terug naar tabel

De aangepaste indelingSaanduiding 'F'

De aangepaste indelingsaanduiding 'F' voert de tienden van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. Als de waarde van de tiende van een seconde van het tijdsinterval nul is, wordt deze niet opgenomen in de resultaattekenreeks. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden van een tweede cijfer optioneel.

Als de aangepaste indelingsaanduiding 'F' alleen wordt gebruikt, geeft u '%F' op, zodat deze niet verkeerd wordt geïnterpreteerd als een standaardnotatietekenreeks.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'F' gebruikt om de tienden van een seconde in een TimeSpan waarde weer te geven. Deze aangepaste indelingsaanduiding wordt ook gebruikt in een parseringsbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.669");
Console.WriteLine("{0} ('%F') --> {0:%F}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.091");
Console.WriteLine("{0} ('ss\\.F') --> {0:ss\\.F}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.      

Terug naar tabel

De aangepaste indelingsaanduiding 'FF'

De aangepaste indelingsaanduiding 'FF' voert de honderdsten van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden en honderdsten van een tweede cijfer optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'FF' gebruikt om de honderdsten van een seconde in een TimeSpan waarde weer te geven. Deze aangepaste indelingsaanduiding wordt ook gebruikt in een parseringsbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697");
Console.WriteLine("{0} ('FF') --> {0:FF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.809");
Console.WriteLine("{0} ('ss\\.FF') --> {0:ss\\.FF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.

Terug naar tabel

De aangepaste indelingsaanduiding 'FFF'

De aangepaste indelingsaanduiding 'FFF' (met drie 'F'-tekens) voert de milliseconden uit in een tijdsinterval. Bij een opmaakbewerking worden alle resterende breukcijfers afgekapt. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden, honderdsten en duizendsten van een tweede cijfer optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'FFF' gebruikt om de duizendste van een seconde in een TimeSpan waarde weer te geven. Deze aangepaste indelingsaanduiding wordt ook gebruikt in een parseringsbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974");
Console.WriteLine("{0} ('FFF') --> {0:FFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.8009");
Console.WriteLine("{0} ('ss\\.FFF') --> {0:ss\\.FFF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.

Terug naar tabel

De aanduiding voor aangepaste FFFF-indeling

De aangepaste notatieaanduiding 'FFFF' (met vier 'F'-tekens) voert de tienduizendste van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende fractionele cijfers afgekapt. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. In een parseerbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden, honderdsten, duizendsten en tienduizendste van een tweede cijfer optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding FFFF gebruikt om de tienduizendste van een seconde in een TimeSpan waarde weer te geven. Het maakt ook gebruik van de aangepaste notatieaanduiding 'FFFF' in een parseringsbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.69749");
Console.WriteLine("{0} ('FFFF') --> {0:FFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.80009");
Console.WriteLine("{0} ('ss\\.FFFF') --> {0:ss\\.FFFF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.

Terug naar tabel

De aangepaste indelingsaanduiding 'FFFFF'

De aangepaste notatieaanduiding 'FFFFF' (met vijf 'F'-tekens) voert de honderdduizendste van een seconde uit in een tijdsinterval. Bij een opmaakbewerking worden alle resterende fractionele cijfers afgekapt. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden, honderdsten, duizendsten, tienduizendsten en honderdduizendste van een tweede cijfer optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding FFFFF gebruikt om de honderdduizendste van een seconde in een TimeSpan waarde weer te geven. Het maakt ook gebruik van de aangepaste indelingsaanduiding 'FFFFF' in een parseringsbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.697497");
Console.WriteLine("{0} ('FFFFF') --> {0:FFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.800009");
Console.WriteLine("{0} ('ss\\.FFFFF') --> {0:ss\\.FFFFF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.

Terug naar tabel

De aanduiding voor aangepaste FFFFFF-indeling

De aangepaste notatieaanduiding 'FFFFFF' (met zes 'F'-tekens) voert de miljoenste van een seconde in een tijdsinterval uit. Bij een opmaakbewerking worden alle resterende fractionele cijfers afgekapt. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. In een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de tienden, honderdsten, duizendsten, tienduizendsten, honderdduizendste en miljoenste van een tweede cijfer optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding FFFFFF gebruikt om de miljoenste van een seconde in een TimeSpan waarde weer te geven. Deze aangepaste notatieaanduiding wordt ook gebruikt in een parseerbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine("{0} ('FFFFFF') --> {0:FFFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.8000009");
Console.WriteLine("{0} ('ss\\.FFFFFF') --> {0:ss\\.FFFFFF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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'.

Terug naar tabel

De aangepaste indelingsaanduiding 'FFFFFFF'

De aangepaste notatieaanduiding 'FFFFFFF' (met zeven 'F'-tekens) voert de tien miljoenste van een seconde (of het fractionele aantal tikken) in een tijdsinterval uit. Als er afsluitende breuknullen zijn, worden deze niet opgenomen in de resultaattekenreeks. Bij een parseringsbewerking die de TimeSpan.ParseExact methode of TimeSpan.TryParseExact aanroept, is de aanwezigheid van de zeven fractionele cijfers in de invoertekenreeks optioneel.

In het volgende voorbeeld wordt de aangepaste notatieaanduiding 'FFFFFFF' gebruikt om de breukdelen van een seconde in een TimeSpan waarde weer te geven. Deze aangepaste notatieaanduiding wordt ook gebruikt in een parseerbewerking.

Console.WriteLine("Formatting:");
TimeSpan ts1 = TimeSpan.Parse("0:0:3.6974974");
Console.WriteLine("{0} ('FFFFFFF') --> {0:FFFFFFF}", ts1);

TimeSpan ts2 = TimeSpan.Parse("0:0:3.9500000");
Console.WriteLine("{0} ('ss\\.FFFFFFF') --> {0:ss\\.FFFFFFF}", ts2);
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("{0} ('{1}') --> {2}", input, fmt, ts3);
   else
      Console.WriteLine("Cannot parse {0} with '{1}'.",
                        input, 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     

Terug naar tabel

Andere tekens

Elk ander teken zonder opmaak in een notatietekenreeks, met inbegrip van een spatie, wordt geïnterpreteerd als een aangepaste notatieaanduiding. In de meeste gevallen resulteert de aanwezigheid van een ander niet-gebeeldteken in een FormatException.

Er zijn twee manieren om een letterlijk teken op te nemen in een notatietekenreeks:

  • Plaats deze tussen enkele aanhalingstekens (het letterlijke tekenreeksscheidingsteken).

  • Voorafgegaan door een backslash ("\"), die wordt geïnterpreteerd als een escape-teken. Dit betekent dat in C# de notatietekenreeks @-quoted moet zijn of dat het letterlijke teken moet worden voorafgegaan door een extra backslash.

    In sommige gevallen moet u mogelijk voorwaardelijke logica gebruiken om een letterlijke escaped op te nemen in een notatietekenreeks. In het volgende voorbeeld wordt voorwaardelijke logica gebruikt om een tekensymbool op te nemen voor negatieve tijdsintervallen.

    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: {0:" + fmt + "}", result);
       }
    }
    // The example displays output like the following:
    //       -1291.10:54
    //       Interval: -1291.10:54
    
    Module 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 definieert geen grammatica voor scheidingstekens in tijdsintervallen. Dit betekent dat de scheidingstekens tussen dagen en uren, uren en minuten, minuten en seconden en seconden en fracties van een seconde allemaal moeten worden behandeld als letterlijke tekens in een notatietekenreeks.

In het volgende voorbeeld wordt zowel het escape-teken als het enkele aanhalingsteken gebruikt om een aangepaste notatietekenreeks te definiëren die het woord 'minuten' in de uitvoertekenreeks bevat.

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      

Terug naar tabel

Zie ook