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 :

Si formatProvider c’est nullle 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'