Méthode System.DateTime.TryParse

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) méthode analyse une chaîne qui peut contenir des informations de date, d’heure et de fuseau horaire. Elle est similaire à la DateTime.Parse(String, IFormatProvider, DateTimeStyles) méthode, sauf que la DateTime.TryParse(String, DateTime) méthode ne lève pas d’exception si la conversion échoue.

Cette méthode tente d’ignorer complètement les données non reconnues et analyse la chaîne d’entrée (s). Si s elle contient une heure mais aucune date, la méthode remplace par défaut la date actuelle ou, si styles elle inclut l’indicateur NoCurrentDateDefault , elle remplace DateTime.Date.MinValue. Si s elle contient une date mais pas d’heure, 12 :00 minuit est utilisée comme heure par défaut. Si une date est présente mais que son composant année se compose de deux chiffres seulement, il est converti en année dans le provider calendrier actuel du paramètre en fonction de la valeur de la Calendar.TwoDigitYearMax propriété. Tous les espaces blancs de début, interne ou de fin sont s ignorés. La date et l’heure peuvent être entre crochets avec une paire de caractères NU de début et de fin Mo ER SIGN caractères ('#', U+0023) et peuvent être suivis avec un ou plusieurs caractères NULL (U+0000).

Les formats valides spécifiques pour les éléments de date et d’heure, ainsi que les noms et les symboles utilisés dans les dates et les heures, sont définis par le provider paramètre, qui peut être l’un des éléments suivants :

Si provider est null, la culture actuelle est utilisée.

S’il s s’agit de la représentation sous forme de chaîne d’un jour bissextile dans le calendrier actuel, la méthode analyse s correctement. Si s la représentation sous forme de chaîne d’un jour bissextile dans un an non bissextile dans le calendrier actuel de provider, l’opération d’analyse échoue et la méthode retourne false.

Le styles paramètre définit l’interprétation précise de la chaîne analysée et la façon dont l’opération d’analyse doit la gérer. Il peut s’agir d’un ou de plusieurs membres de l’énumération DateTimeStyles , comme décrit dans le tableau suivant.

Membre DateTimeStyles Description
AdjustToUniversal s Analyse et, si nécessaire, la convertit en UTC. Si s inclut un décalage de fuseau horaire, ou s’il s ne contient aucune information de fuseau horaire, mais styles inclut l’indicateur DateTimeStyles.AssumeLocal , la méthode analyse la chaîne, appelle ToUniversalTime pour convertir la valeur retournée DateTime en UTC et définit la Kind propriété DateTimeKind.Utcsur . Si s elle indique qu’elle représente UTC, ou si s elle ne contient pas d’informations de fuseau horaire, mais styles inclut l’indicateur DateTimeStyles.AssumeUniversal , la méthode analyse la chaîne, n’effectue aucune conversion de fuseau horaire sur la valeur retournée DateTime et définit la Kind propriété DateTimeKind.Utcsur . Dans tous les autres cas, l’indicateur n’a aucun effet.
AllowInnerWhite Bien que valide, cette valeur est ignorée. L’espace blanc interne est autorisé dans les éléments de date et d’heure de s.
AllowLeadingWhite Bien que valide, cette valeur est ignorée. L’espace blanc de début est autorisé dans les éléments de date et d’heure de s.
AllowTrailingWhite Bien que valide, cette valeur est ignorée. L’espace blanc de fin est autorisé dans les éléments de date et d’heure de s.
AllowWhiteSpaces Spécifie qui s peut contenir des espaces blancs de début, interne et de fin. C’est le paramétrage par défaut. Il ne peut pas être substitué en fournissant une valeur d’énumération plus restrictive DateTimeStyles telle que DateTimeStyles.None.
AssumeLocal Spécifie qu’en s l’absence d’informations de fuseau horaire, il est supposé représenter une heure locale. Sauf si l’indicateur DateTimeStyles.AdjustToUniversal est présent, la Kind propriété de la valeur retournée DateTime est définie DateTimeKind.Localsur .
AssumeUniversal Spécifie qu’en s l’absence d’informations de fuseau horaire, il est supposé représenter UTC. Sauf si l’indicateur DateTimeStyles.AdjustToUniversal est présent, la méthode convertit la valeur retournée DateTime de UTC en heure locale et définit sa Kind propriété DateTimeKind.Localsur .
None Bien que valide, cette valeur est ignorée.
RoundtripKind Pour les chaînes qui contiennent des informations de fuseau horaire, tente d’empêcher la conversion d’une chaîne de date et d’heure en valeur DateTime avec sa Kind propriété définie sur DateTimeKind.Local. En règle générale, une telle chaîne est créée en appelant la DateTime.ToString(String) méthode à l’aide des spécificateurs de format standard « o », « r » ou « u ».

Si s elle ne contient aucune information de fuseau horaire, la méthode retourne une DateTime valeur dont Kind la DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) propriété est DateTimeKind.Unspecified sauf indication contraire d’un styles indicateur. Si s elle inclut des informations de décalage de fuseau horaire ou de fuseau horaire, la DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) méthode effectue toute conversion de temps nécessaire et retourne l’une des opérations suivantes :

Ce comportement peut être remplacé à l’aide de l’indicateur DateTimeStyles.RoundtripKind .

Analyser des cultures personnalisées

Si vous analysez une chaîne de date et d’heure générée pour une culture personnalisée, utilisez la TryParseExact méthode au lieu de la TryParse méthode pour améliorer la probabilité que l’opération d’analyse réussisse. Une chaîne de date et d’heure de culture personnalisée peut être complexe et difficile à analyser. La TryParse méthode tente d’analyser une chaîne avec plusieurs modèles d’analyse implicites, qui peuvent échouer. En revanche, la TryParseExact méthode vous oblige à désigner explicitement un ou plusieurs modèles d’analyse exacts susceptibles de réussir.

Pour plus d’informations sur les cultures personnalisées, consultez la System.Globalization.CultureAndRegionInfoBuilder classe.