Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

TimeSpan.TryParseExact, méthode (String, String, IFormatProvider, TimeSpan)

Convertit la représentation sous forme de chaîne d'un intervalle de temps en son équivalent TimeSpan à l'aide du format et des informations de format spécifiques à la culture spécifiés, et retourne une valeur qui indique si la conversion a réussi. Le format de la chaîne doit correspondre exactement au format spécifié.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

public static bool TryParseExact(
	string input,
	string format,
	IFormatProvider formatProvider,
	out TimeSpan result
)

Paramètres

input
Type : System.String
Chaîne qui spécifie l'intervalle de temps à convertir.
format
Type : System.String
Chaîne de format standard ou personnalisée qui définit le format requis pour input.
formatProvider
Type : System.IFormatProvider
Objet qui fournit des informations de mise en forme spécifiques à la culture.
result
Type : System.TimeSpan
Lorsque cette méthode est retournée, contient un objet qui représente l'intervalle de temps spécifié par input, ou TimeSpan.Zero si la conversion avait échoué. Ce paramètre est passé sans être initialisé.

Valeur de retour

Type : System.Boolean
true si la conversion d'input est réussie ; sinon, false.

La méthode TryParseExact(String, String, IFormatProvider, TimeSpan) analyse la représentation sous forme de chaîne d'un intervalle de temps, qui doit être dans le format défini par le paramètre format, mais les caractères d'espace de blanc de début et de fin sont ignorés. Cette méthode s'apparente à la méthode ParseExact(String, String, IFormatProvider), à la différence près qu'elle ne lève aucune exception en cas d'échec de la conversion.

Le paramètre format est une chaîne contenant un spécificateur de format standard unique ou un ou plusieurs spécificateurs de format personnalisés qui définissent le format requis de input. Pour plus d'informations sur les chaînes de mise en forme valides, consultez Chaînes de format TimeSpan standard. et Chaînes de format TimeSpan personnalisées.

Remarque importanteImportant

La méthode TryParseExact(String, String, IFormatProvider, TimeSpan) utilise les conventions de la culture spécifiées uniquement par le paramètre formatProvider si format est une chaîne de format TimeSpan standard dont la valeur est « g » ou « G ». Les chaînes de format standard « c », « t » et « T » utilisent les conventions de mise en forme de la culture dite indifférente. Les chaînes de format personnalisées définissent le format précis de la chaîne d'entrée et utilisent des caractères littéraux pour séparer les composants d'un intervalle de temps.

Le paramètre formatProvider est une implémentation IFormatProvider qui fournit des informations spécifiques à la culture sur le format de la chaîne retournée si format est une chaîne de format standard. Le paramètre formatProvider peut être n'importe lequel des éléments suivants :

Si formatProvider est null, l'objet DateTimeFormatInfo associé à la culture actuelle est utilisé.

L'exemple suivant utilise la méthode TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan) pour analyser plusieurs représentations de chaîne d'intervalles de temps à l'aide de différentes chaînes de format et de cultures.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string intervalString, format;
      TimeSpan interval;
      CultureInfo culture;

      // Parse hour:minute value with "g" specifier current culture.
      intervalString = "17:14";
      format = "g";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse hour:minute:second value with "G" specifier.
      intervalString = "17:14:48";
      format = "G";
      culture = CultureInfo.InvariantCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = new CultureInfo("fr-FR");
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48,153";
      format = "G";
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "c" standard format string. 
      intervalString = "12";
      format = "c";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "%h" custom format string. 
      format = "%h";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "%s" custom format string. 
      format = "%s";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
   }
}
// The example displays the following output:
//       '17:14' --> 17:14:00
//       Unable to parse 17:14:48
//       Unable to parse 17:14:48.153
//       '3:17:14:48.153' --> 3.17:14:48.1530000
//       Unable to parse 3:17:14:48.153
//       '3:17:14:48,153' --> 3.17:14:48.1530000
//       '12' --> 12.00:00:00
//       '12' --> 12:00:00
//       '12' --> 00:00:12


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Pris en charge dans : 4

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft