"La chaîne n'est pas reconnue comme un format DateTime effectif DD / mm / yyyy" Analyse d'erreur
Lors de la conversion de la chaîne de format "dd / mm / yyyy" en un objet
, la "chaîne n'est pas reconnue comme une erreur de DateTime" valide ". Cette erreur signifie que le format de chaîne ne correspond pas au format spécifié par défaut spécifié DateTime.Parse()
. DateTime
IFormatProvider
Solution:
Méthode 1: Utilisez
La méthode est explicitement spécifiée pour spécifier le format de date requis, couvrant ainsi le format régional par défaut. Cette méthode nécessite trois paramètres: la chaîne est convertie, la chaîne de format et ParseExact()
.
Méthode 2: Custom DateTime.ParseExact()
IFormatProvider
<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
pour fournir le format régional requis. Cette méthode vous permet de maintenir la flexibilité de tout en suivant le format personnalisé. IFormatProvider
La différence entre IFormatProvider
: DateTime.Parse()
<code class="language-csharp">// 创建一个具有所需格式的自定义提供程序 CultureInfo customCulture = new CultureInfo("en-US"); customCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"; // 使用自定义提供程序进行解析 DateTime date = DateTime.Parse(this.Text, customCulture);</code>
Exprimez le format spécifié, et dépendent de la valeur par défaut Parse()
(généralement la région actuelle). ParseExact()
plus précis et sécurisé, car il vérifiera la chaîne en fonction du format spécifié.
ParseExact()
Parse()
Suggestion: IFormatProvider
ParseExact()
est le premier choix car il applique le format spécifique. Cependant, si le format de date peut varier de la région, Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!