Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.
De invoertekenreeks voor de Parse methoden bevat een tijdsintervalspecificatie in de vorm:
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
Elementen in vierkante haken ([ en ]) zijn optioneel. Eén selectie uit de lijst met alternatieven tussen accolades ({ en }) en gescheiden door verticale balken (|) is vereist. In de volgende tabel wordt elk element beschreven.
| Onderdeel | Beschrijving |
|---|---|
| Ws | Optionele witruimte. |
| - | Een optioneel minteken, dat een negatieve TimeSpanaangeeft. |
| d | Dagen, variërend van 0 tot 10675199. |
| . | Een cultuurgevoelig symbool dat dagen van uren scheidt. In de invariante notatie wordt een punt (".") gebruikt. |
| uh | Uren, variërend van 0 tot 23. |
| : | Het cultuurgevoelige tijdscheidingsteken. De invariante notatie maakt gebruik van een dubbele punt (:). |
| Mm | Minuten, variërend van 0 tot 59. |
| ß | Optionele seconden, variërend van 0 tot 59. |
| . | Een cultuurgevoelig symbool dat seconden scheidt van breuken van een seconde. In de invariante notatie wordt een punt (".") gebruikt. |
| ff | Optionele fractionele seconden, bestaande uit één tot zeven decimale cijfers. |
Als de invoertekenreeks niet alleen een dagwaarde is, moet deze een uren- en minutenonderdeel bevatten; andere onderdelen zijn optioneel. Als ze aanwezig zijn, moeten de waarden van elke tijdcomponent binnen een opgegeven bereik vallen. De waarde van uu, het urengedeelte, moet bijvoorbeeld tussen 0 en 23 zijn. Daarom retourneert het doorgeven van '23:00:00' aan de Parse-methode een tijdsinterval van 23 uur. Aan de andere kant retourneert het doorgeven van '24:00:00' een tijdsinterval van 24 dagen. Omdat '24' buiten het bereik van het urenonderdeel valt, wordt het geïnterpreteerd als het dagenonderdeel.
De onderdelen van de invoertekenreeks moeten gezamenlijk een tijdsinterval opgeven dat groter is dan of gelijk is aan TimeSpan.MinValue en kleiner dan of gelijk aan TimeSpan.MaxValue.
De methode Parse(String) probeert de invoertekenreeks te parseren door gebruik te maken van elk cultuurspecifiek formaat dat bij de huidige cultuur hoort.
Notities voor bellers
Wanneer een tijdsintervalonderdeel in de tekenreeks die moet worden geparseerd meer dan zeven cijfers bevat, kunnen parseringsbewerkingen in .NET Framework 3.5 en eerdere versies zich anders gedragen dan parseringsbewerkingen in .NET Framework 4 en latere versies. In sommige gevallen kunnen parseringsbewerkingen die slagen in .NET Framework 3.5 en eerdere versies mislukken en een OverflowException genereren in .NET Framework 4 en hoger. In andere gevallen kunnen parseringsbewerkingen die een FormatException genereren in .NET Framework 3.5 en eerdere versies mislukken en een OverflowException genereren in .NET Framework 4 en hoger. In het volgende voorbeeld ziet u beide scenario's.
string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
try {
TimeSpan interval = TimeSpan.Parse(value);
Console.WriteLine($"{value} --> {interval}");
}
catch (FormatException) {
Console.WriteLine($"{value}: Bad Format");
}
catch (OverflowException) {
Console.WriteLine($"{value}: Overflow");
}
}
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
open System
let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
try
let interval = TimeSpan.Parse value
printfn $"{value} --> {interval}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
Try
Dim interval As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, interval)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' 12.12:12:12.12345678: Bad Format
' Output from .NET Framework 4:
' 000000006: Overflow
' 12.12:12:12.12345678: Overflow