Maison >développement back-end >Golang >Pourquoi « time.Parse » dans Go produit-il des résultats de conversion de temps incohérents ?

Pourquoi « time.Parse » dans Go produit-il des résultats de conversion de temps incohérents ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-21 02:17:18616parcourir

Why Does `time.Parse` in Go Produce Inconsistent Time Conversion Results?

Conversion de temps incohérente à l'aide de time.Parse

Dans le package time de Go, la fonction time.Parse est utilisée pour convertir une chaîne en une valeur time.Time. Cependant, il arrive parfois que le résultat attendu ne soit pas obtenu, notamment lorsqu'il s'agit de fuseaux horaires. Cet écart peut être attribué à une chaîne de format incorrecte fournie à time.Parse.

Pour garantir la conversion souhaitée, il est crucial de respecter le format spécifié par la fonction time.Parse. Ce format est basé sur l'heure de référence, qui est représentée par :

Mon Jan 2 15:04:05 MST 2006

En créant une chaîne de format qui s'aligne sur l'heure de référence, une conversion fiable peut être obtenue. Par exemple, considérons le code suivant :

package main

import (
    "fmt"
    "log"
    "time"
)

func main() {
    const longForm = "2006-01-02 15:04:05 -0700"
    t, err := time.Parse(longForm, "2013-05-13 18:41:34.848 -0700")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(t)
}

Dans cet exemple, la chaîne de format longForm correspond au format de l'heure de référence en prenant en compte les composants de date et d'heure ainsi que le décalage du fuseau horaire. En conséquence, la fonction time.Parse convertit avec succès la chaîne en une valeur time.Time dans le fuseau horaire UTC attendu.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn