.net Timespan Parse

5 min read Jun 04, 2024
.net Timespan Parse

Parsing de TimeSpan en C# : Un Guide Complet

Le type TimeSpan en C# représente une durée, exprimant un intervalle de temps. Il est souvent nécessaire de parser des chaînes de caractères représentant des durées pour les convertir en objets TimeSpan.

Comprendre le Format de Chaîne de Caractères

Avant de commencer à parser des chaînes, il est important de comprendre le format standard de TimeSpan. Voici quelques exemples:

  • "00:00:00": Représente une durée de 0 heures, 0 minutes et 0 secondes.
  • "10:00:00": Représente une durée de 10 heures, 0 minutes et 0 secondes.
  • "01:02:03": Représente une durée de 1 heure, 2 minutes et 3 secondes.
  • "01.02:03": Représente une durée de 1 jour, 2 heures et 3 minutes.
  • "1.2:03": Représente une durée de 1 jour, 2 heures et 3 minutes.
  • "2.00:03:05": Représente une durée de 2 jours, 0 heures, 3 minutes et 5 secondes.

Méthodes de Parsing

Plusieurs méthodes sont disponibles pour parser des chaînes de caractères en objets TimeSpan en C#.

1. TimeSpan.Parse()

La méthode TimeSpan.Parse() est la méthode la plus basique pour parser une chaîne de caractères. Elle prend en entrée une chaîne de caractères au format standard et renvoie un objet TimeSpan correspondant.

string timespanString = "01:02:03";
TimeSpan timespan = TimeSpan.Parse(timespanString);
Console.WriteLine(timespan); // Affiche: 01:02:03

2. TimeSpan.TryParse()

La méthode TimeSpan.TryParse() est une alternative à TimeSpan.Parse() qui permet de gérer les erreurs de parsing. Elle prend en entrée une chaîne de caractères et une variable de type TimeSpan pour stocker le résultat. Elle renvoie true si le parsing a réussi et false sinon.

string timespanString = "1.2:03";
TimeSpan timespan;
if (TimeSpan.TryParse(timespanString, out timespan))
{
    Console.WriteLine(timespan); // Affiche: 1.02:03:00
}
else
{
    Console.WriteLine("Parsing échoué");
}

3. TimeSpan.ParseExact()

La méthode TimeSpan.ParseExact() offre une flexibilité accrue en permettant de spécifier des formats personnalisés pour les chaînes de caractères. Elle prend en entrée une chaîne de caractères, un tableau de formats de chaîne et un fournisseur de culture.

string timespanString = "1.2:03";
string[] formats = { "d.hh:mm", "d.hh:mm:ss" };
TimeSpan timespan = TimeSpan.ParseExact(timespanString, formats, null);
Console.WriteLine(timespan); // Affiche: 1.02:03:00

Erreurs Courantes

Les erreurs de parsing peuvent survenir si la chaîne de caractères n'est pas au format attendu.

  • FormatException: Cette exception est levée si la chaîne de caractères n'est pas un format de TimeSpan valide.
  • OverflowException: Cette exception est levée si la durée représentée par la chaîne de caractères dépasse la capacité de TimeSpan.

Conclusion

Le parsing de TimeSpan est une opération courante en développement C#. Les méthodes TimeSpan.Parse(), TimeSpan.TryParse() et TimeSpan.ParseExact() offrent des options flexibles pour convertir des chaînes de caractères en objets TimeSpan, vous permettant de manipuler des durées avec précision dans vos applications.

Related Post


Featured Posts