J'ai une chaîne temporelle au format suivant : 31 July 2023 21:06:36
. Je souhaite libérer du temps en utilisant l'analyse syntaxique. Alors j'ai fait ça
dateStr := "20 July 2023 21:06:36" formatLayout := "31 July 2023 21:06:36" parsedTime, err := time.Parse(formatLayout, dateStr) if err != nil { return detail, err }
Mais une erreur s'est produite parsing time "31 July 2023 21:06:36": hour out of range
。然后我将格式布局更改为 02 January 2006 15:04:05
dateStr := "20 July 2023 21:06:36" formatLayout := "02 January 2006 15:04:05" parsedTime, err := time.Parse(formatLayout, dateStr) if err != nil { return detail, err }
Il produit l'heure correcte. Ma question est de savoir pourquoi cela produit une erreur si j'utilise 02 一月 2006 15:04:05
的布局它不会产生错误,但 31 七月 2023 21:06:36
. Ils sont dans le même format, non ?
Merci
Mon Jan 2 15:04:05 MST 2006
(或 01/02 03:04:05PM '06 -0700
)是 Layout
包中定义的 time
constante.
Il est défini de cette façon car chaque partie de l'heure (jour, mois, année, heure, minute, seconde, fuseau horaire) est différente, il est donc pratique à utiliser comme mise en page car il ne contient pas de champs ambigus. Par exemple. Le mois vaut toujours 1, le jour vaut toujours 2, et ainsi de suite.
Vous pouvez voir qu'il s'agit du temps "spécial" que le package time
utilise pour effectuer l'analyse. Rien de plus.
Voir aussi Origine de « Mon Jan 2 15:04:05 MST 2006 », golang.
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!