Lors de l'analyse de dates au format RFC822Z dans Golang, des problèmes peuvent survenir lors de la rencontre de formats de date sans zéros non significatifs. Le format RFC822Z est un format de date couramment utilisé, mais parfois le mois et le jour de la date n'ont pas de zéros non significatifs. Un traitement spécial est requis lors de l'analyse des dates dans ce format, sinon des erreurs d'analyse peuvent survenir. Cet article explique comment utiliser Golang pour analyser les formats de date sans zéros non significatifs et fournit des exemples de code correspondants. En lisant cet article, vous apprendrez comment analyser correctement les dates au format RFC822Z et comment gérer les formats de date sans zéros non significatifs.
J'ai une chaîne de date que je ne peux pas contrôler et j'essaie de l'analyser en une date.
Ce format est le plus similaire à rfc822z.
rfc822z="2 janvier 2006 15:04 -0700"
Référence : https://yourbasic.org/golang/format-parse-string-time-date-example/
Cependant, il n’a pas de zéros non significatifs.
Exemple : « 5 décembre 2022 20:15:21 +0000 »
La méthode que j'ai vue dans d'autres articles consiste à écrire un formatage manuel.
parsetime, timeparseerror = time.parse("2 jan 2006 15:04:21 -0700", stringdate)
Cependant, lorsque j'essaie de faire cela, je reçois l'avertissement :
parsing time "2 Jan 2006 15:04:21 -0700" as "2 Jan 2006 15:04:21 -0700": cannot parse " -0700" as "1" (SA1002)
Pas surprenant que son exécution ait échoué malgré l'avertissement.
Vos formats d'heure ne correspondent pas - dans votre exemple, vous avez "5 décembre 2022" mais vous utilisez "2 janvier 06" et dans votre format de référence vous avez "15:04:21" mais cela devrait être "15:04:05".
Votre format de référence doit être 2 Jan 2006 15:04:05 -0700
而不是 2 Jan 06 15:04:21 -0700
https://www.php.cn/link/efb53b87d5f5286f29b7791ec36a34f8
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!