Partager via


Chaînes de format TimeSpan standard.

Une chaîne de mise en forme TimeSpan standard utilise un spécificateur de format unique pour définir la représentation textuelle d'une valeur TimeSpan qui résulte d'une opération de mise en forme. Toute chaîne de format qui contient plusieurs caractères, notamment des espaces blancs, est interprétée comme une chaîne de format TimeSpan personnalisée. Pour plus d'informations, consultez Chaînes de format TimeSpan personnalisées.

Les représentations sous forme de chaîne de valeurs TimeSpan sont produites par des appels aux surcharges de la méthode TimeSpan.ToString, ainsi que par les méthodes qui prennent en charge la mise en forme composite, telles que String.Format. Pour plus d'informations, consultez Mise en forme des types et Mise en forme composite. L'exemple suivant illustre l'utilisation de chaînes de format standard pour les opérations de mise en forme.

Module Example
   Public Sub Main()
      Dim duration As New TimeSpan(1, 12, 23, 62)
      Dim output As String = "Time of Travel: " + duration.ToString("c")
      Console.WriteLine(output)

      Console.WriteLine("Time of Travel: {0:c}", duration) 
   End Sub
End Module
' The example displays the following output:
'       Time of Travel: 1.12:24:02
'       Time of Travel: 1.12:24:02
using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);
      string output = "Time of Travel: " + duration.ToString("c");
      Console.WriteLine(output);

      Console.WriteLine("Time of Travel: {0:c}", duration); 
   }
}
// The example displays the following output:
//       Time of Travel: 1.12:24:02
//       Time of Travel: 1.12:24:02

Les chaînes de format TimeSpan standard sont également utilisées par les méthodes TimeSpan.ParseExact et TimeSpan.TryParseExact pour définir le format requis des chaînes d'entrée pour les opérations d'analyse. (l'analyse convertit la représentation sous forme de chaîne d'une valeur en cette valeur). L'exemple suivant illustre l'utilisation de chaînes de format standard pour les opérations d'analyse.

Module Example
   Public Sub Main()
      Dim value As String = "1.03:14:56.1667"
      Dim interval As TimeSpan
      Try
         interval = TimeSpan.ParseExact(value, "c", Nothing)
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Catch e As FormatException
         Console.WriteLine("{0}: Bad Format", value)
      Catch e As OverflowException
         Console.WriteLine("{0}: Out of Range", value)
      End Try

      If TimeSpan.TryParseExact(value, "c", Nothing, interval) Then
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value)
      End If                
   End Sub
End Module
' The example displays the following output:
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
using System;

public class Example
{
   public static void Main()
   {
      string value = "1.03:14:56.1667";
      TimeSpan interval;
      try {
         interval = TimeSpan.ParseExact(value, "c", null);
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      }   
      catch (FormatException) {
         Console.WriteLine("{0}: Bad Format", value);
      }   
      catch (OverflowException) {
         Console.WriteLine("{0}: Out of Range", value);
      }

      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value);
   }
}
// The example displays the following output:
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000

Le tableau suivant décrit les spécificateurs de format d'intervalle de temps standard.

Spécificateur de format

Nom

Description

Exemples

"c"

Format constant (invariant)

Ce spécificateur n'est pas dépendant de la culture. Il prend la forme suivante : [-][d’.’]hh’:’mm’:’ss[‘.’fffffff].

(les chaînes de format « T » et « t » produisent les mêmes résultats)

Pour plus d'informations : Spécificateur de format constant ("c") (page éventuellement en anglais).

TimeSpan.Zero -> 00:00:00

New TimeSpan(0, 0, 30, 0) -> 00:30:00

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000

"g"

Format court général

Ce spécificateur retourne uniquement ce qui est nécessaire. Il est dépendant de la culture et prend la forme [-][d’:’]h’:’mm’:’ss[.FFFFFFF].

Pour plus d'informations : Spécificateur de format court général ("g") (page éventuellement en anglais).

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)

"G"

Format long général

Ce spécificateur retourne toujours les jours et sept chiffres fractionnaires. Il est dépendant de la culture et prend la forme [-]d’:’hh’:’mm’:’ss.fffffff.

Pour plus d'informations : Spécificateur de format long ("G").

New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)

New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)

Spécificateur de format constant ("c")

Le spécificateur de format "c" retourne la représentation sous forme de chaîne d'une valeur TimeSpan sous la forme suivante :

[-][d.]hh:mm:ss[.fffffff]

Les éléments entre crochets ([ et ]) sont facultatifs. Le point (.) et les deux-points (:) sont des symboles littéraux. Le tableau suivant décrit les éléments restants.

Élément

Description

-

Signe négatif facultatif, qui indique un intervalle de temps négatif.

d

Nombre de jours facultatif, sans zéro non significatif.

hh

Nombre d'heures, compris entre « 00 » et « 23 ».

mm

Nombre de minutes, compris entre « 00 » et « 59 ».

ss

Nombre de secondes, compris entre « 0 » et « 59 ».

fffffff

Nombre de millisecondes facultatif, compris entre « 0010000 » et « 9990000 ».

Contrairement aux spécificateurs de format "G" et "g", le spécificateur de format "c" n'est pas dépendant de la culture. Il produit la représentation sous forme de chaîne d'une valeur TimeSpan qui est indifférente et commune à toutes les versions du .NET Framework antérieures au .NET Framework version 4. " c" est la chaîne de format TimeSpan par défaut ; la méthode TimeSpan.ToString() met en forme une valeur d'intervalle à l'aide de la chaîne de format "c".

RemarqueRemarque

TimeSpan prend également en charge les chaînes de format standard "t" et "T", dont le comportement est identique à celui de la chaîne de format standard "c".

L'exemple suivant instancie deux objets TimeSpan, les utilise pour effectuer des opérations arithmétiques et affiche le résultat. Dans chaque cas, il utilise la mise en forme composite pour afficher la valeur TimeSpan à l'aide du spécificateur de format "c".

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)

      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)

      interval1 = New TimeSpan(0, 0, 1, 14, 365)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       07:45:16 - 18:12:38 = -10:27:22
'       07:45:16 + 18:12:38 = 1.01:57:54
'       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756
using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);

      interval1 = new TimeSpan(0, 0, 1, 14, 365);
      interval2 = TimeSpan.FromTicks(2143756);  
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       07:45:16 - 18:12:38 = -10:27:22
//       07:45:16 + 18:12:38 = 1.01:57:54
//       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756

Retour au tableau

Spécificateur de format court général ("g")

Le spécificateur de format TimeSpan "g" retourne la représentation sous forme de chaîne d'une valeur TimeSpan sous une forme compacte, en incluant uniquement les éléments nécessaires. Elle présente la forme suivante :

[-][d:]h:mm:ss[.FFFFFFF]

Les éléments entre crochets ([ et ]) sont facultatifs. Les deux-points (:) est un symbole littéral. Le tableau suivant décrit les éléments restants.

Élément

Description

-

Signe négatif facultatif, qui indique un intervalle de temps négatif.

d

Nombre de jours facultatif, sans zéro non significatif.

h

Nombre d'heures, compris entre « 0 » et « 23 », sans zéro non significatif.

mm

Nombre de minutes, compris entre « 00 » et « 59 ».

ss

Nombre de secondes, compris entre « 00 » et « 59 ».

.

Séparateur de fractions de seconde. Il est équivalent à la propriété NumberDecimalSeparator de la culture spécifiée sans substitutions d'utilisateur.

FFFFFFF

Fractions de seconde. Le moins de chiffres possibles sont affichés.

Comme le spécificateur de format "G", le spécificateur de format "g" est localisé. Son séparateur de fractions de seconde est basé sur la culture actuelle ou la propriété NumberDecimalSeparator d'une culture spécifiée.

L'exemple suivant instancie deux objets TimeSpan, les utilise pour effectuer des opérations arithmétiques et affiche le résultat. Dans chaque cas, il utilise la mise en forme composite pour afficher la valeur TimeSpan à l'aide du spécificateur de format "g". De plus, il met en forme la valeur TimeSpan à l'aide des conventions de mise en forme de la culture du système actuelle (en l'occurrence Anglais - États-Unis ou en-US) et la culture Français - France (ou fr-FR).

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)

      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2))

      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       7:45:16 - 18:12:38 = -10:27:22
'       7:45:16 + 18:12:38 = 1:1:57:54
'       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2));

      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       7:45:16 - 18:12:38 = -10:27:22
//       7:45:16 + 18:12:38 = 1:1:57:54
//       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756

Retour au tableau

Spécificateur de format long général ("G")

Le spécificateur de format de "G" TimeSpan retourne la représentation sous forme de chaîne d'une valeur TimeSpan sous une forme étendue comprenant toujours les jours et les fractions de seconde. La chaîne qui résulte du spécificateur de format standard "G" a la forme suivante :

[-]d:hh:mm:ss.fffffff

Les éléments entre crochets ([ et ]) sont facultatifs. Les deux-points (:) est un symbole littéral. Le tableau suivant décrit les éléments restants.

Élément

Description

-

Signe négatif facultatif, qui indique un intervalle de temps négatif.

d

Nombre de jours, sans zéro non significatif.

hh

Nombre d'heures, compris entre « 00 » et « 23 ».

mm

Nombre de minutes, compris entre « 00 » et « 59 ».

ss

Nombre de secondes, compris entre « 00 » et « 59 ».

.

Séparateur de fractions de seconde. Il est équivalent à la propriété NumberDecimalSeparator de la culture spécifiée sans substitutions d'utilisateur.

fffffff

Fractions de seconde.

Comme le spécificateur de format "G", le spécificateur de format "g" est localisé. Son séparateur de fractions de seconde est basé sur la culture actuelle ou la propriété NumberDecimalSeparator d'une culture spécifiée.

L'exemple suivant instancie deux objets TimeSpan, les utilise pour effectuer des opérations arithmétiques et affiche le résultat. Dans chaque cas, il utilise la mise en forme composite pour afficher la valeur TimeSpan à l'aide du spécificateur de format "G". De plus, il met en forme la valeur TimeSpan à l'aide des conventions de mise en forme de la culture du système actuelle (en l'occurrence Anglais - États-Unis ou en-US) et la culture Français - France (ou fr-FR).

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)

      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2))

      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
'       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
'       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);

      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2));

      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
//       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
//       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756

Retour au tableau

Voir aussi

Concepts

Mise en forme des types

Autres ressources

Chaînes de format TimeSpan personnalisées

Analyse de chaînes