Méthodes System.TimeSpan.TryParse
Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.
Méthode TryParse(System.String,System.TimeSpan@)
La TimeSpan.TryParse(String, TimeSpan) méthode est semblable à la TimeSpan.Parse(String) méthode, sauf qu’elle ne lève pas d’exception si la conversion échoue.
Le s
paramètre contient une spécification d’intervalle de temps dans le formulaire :
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Les éléments entre crochets ([ et ]) sont facultatifs. Une sélection de la liste des alternatives placées entre accolades ({ et }) et séparées par des barres verticales (|) est requise. Le tableau suivant décrit chaque élément.
Élément | Description |
---|---|
ws | Espace blanc facultatif. |
- | Signe moins facultatif, qui indique un négatif TimeSpan. |
d | Jours, allant de 0 à 10675199. |
. | Symbole sensible à la culture qui sépare les jours des heures. Le format invariant utilise un caractère de point (« . ») . |
hh | Heures allant de 0 à 23. |
: | Symbole de séparateur de temps sensible à la culture. Le format invariant utilise un caractère deux-points (« : »). |
mm | Minutes, allant de 0 à 59. |
ss | Secondes facultatives, allant de 0 à 59. |
. | Symbole sensible à la culture qui sépare les secondes des fractions d’une seconde. Le format invariant utilise un caractère de point (« . ») . |
ff | Fractions de seconde facultatives, composées d’un à sept chiffres décimaux. |
Les composants de s
doivent spécifier collectivement un intervalle de temps supérieur ou égal à TimeSpan.MinValue et inférieur ou égal à TimeSpan.MaxValue.
La Parse(String) méthode tente d’analyser s
à l’aide de chacun des formats spécifiques à la culture pour la culture actuelle.
Méthode TryParse(String, IFormatProvider, TimeSpan)
La TryParse(String, IFormatProvider, TimeSpan) méthode est semblable à la Parse(String, IFormatProvider) méthode, sauf qu’elle ne lève pas d’exception si la conversion échoue.
Le input
paramètre contient une spécification d’intervalle de temps dans le formulaire :
[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]
Les éléments entre crochets ([ et ]) sont facultatifs. Une sélection de la liste des alternatives placées entre accolades ({ et }) et séparées par des barres verticales (|) est requise. Le tableau suivant décrit chaque élément.
Élément | Description |
---|---|
ws | Espace blanc facultatif. |
- | Signe moins facultatif, qui indique un négatif TimeSpan. |
d | Jours, allant de 0 à 10675199. |
. | Symbole sensible à la culture qui sépare les jours des heures. Le format invariant utilise un caractère de point (« . ») . |
hh | Heures allant de 0 à 23. |
: | Symbole de séparateur de temps sensible à la culture. Le format invariant utilise un caractère deux-points (« : »). |
mm | Minutes, allant de 0 à 59. |
ss | Secondes facultatives, allant de 0 à 59. |
. | Symbole sensible à la culture qui sépare les secondes des fractions d’une seconde. Le format invariant utilise un caractère de point (« . ») . |
ff | Fractions de seconde facultatives, composées d’un à sept chiffres décimaux. |
Les composants de input
doivent spécifier collectivement un intervalle de temps supérieur ou égal à TimeSpan.MinValue et inférieur ou égal à TimeSpan.MaxValue.
La TryParse(String, IFormatProvider, TimeSpan) méthode tente d’analyser input
en utilisant chacun des formats spécifiques à la culture pour la culture spécifiée par formatProvider
.
Le formatProvider
paramètre est une IFormatProvider implémentation qui fournit des informations spécifiques à la culture sur le format de la chaîne retournée. Le formatProvider
paramètre peut être l’un des éléments suivants :
- Objet CultureInfo qui représente la culture dont les conventions de mise en forme doivent être reflétées dans la chaîne retournée. L’objet DateTimeFormatInfo retourné par la CultureInfo.DateTimeFormat propriété définit la mise en forme de la chaîne retournée.
- Objet DateTimeFormatInfo qui définit la mise en forme de la chaîne retournée.
- Objet personnalisé qui implémente l’interface IFormatProvider . Sa IFormatProvider.GetFormat méthode retourne un DateTimeFormatInfo objet qui fournit des informations de mise en forme.
Si formatProvider
c’est null
le cas, l’objet DateTimeFormatInfo associé à la culture actuelle est utilisé.
Remarques pour les appelants
Dans certains cas, lorsqu’un composant d’intervalle de temps de la chaîne à analyser contient plus de sept chiffres, les opérations d’analyse qui ont réussi et retourné true
dans .NET Framework 3.5 et les versions antérieures peuvent échouer et retourner false
dans .NET Framework 4 et versions ultérieures. L’exemple suivant illustre ce scénario :
string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
Console.WriteLine("{0} --> {1}", value, interval);
else
Console.WriteLine("Unable to parse '{0}'", value);
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// Output from .NET Framework 4:
// Unable to parse //000000006//
let value = "000000006"
match TimeSpan.TryParse value with
| true, interval ->
printfn $"{value} --> {interval}"
| _ ->
printfn $"Unable to parse '{value}'"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// Output from .NET Framework 4:
// Unable to parse //000000006//
Dim value As String = "000000006"
Dim interval As TimeSpan
If TimeSpan.TryParse(value, interval) Then
Console.WriteLine("{0} --> {1}", value, interval)
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' Output from .NET Framework 4:
' Unable to parse '000000006'