Maison >développement back-end >Golang >golang time.Parse erreur heure hors plage même format

golang time.Parse erreur heure hors plage même format

WBOY
WBOYavant
2024-02-06 09:20:071137parcourir

golang time.Parse错误小时超出范围相同格式

Contenu de la question

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


Bonne réponse


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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer