Maison > développement back-end > Golang > Comment puis-je analyser correctement les horodatages Unix dans Go ?

Comment puis-je analyser correctement les horodatages Unix dans Go ?

Barbara Streisand
Libérer: 2024-12-18 21:20:15
original
458 Les gens l'ont consulté

How Can I Correctly Parse Unix Timestamps in Go?

Analyse des horodatages Unix dans Go

Analyse des horodatages Unix dans Go peut sembler simple, mais cela peut entraîner des erreurs inattendues. Cet article explore un problème fréquemment rencontré et propose une solution.

Énoncé du problème

Considérez l'extrait de code suivant :

package main

import "fmt"
import "time"

func main() {
    tm, err := time.Parse("1136239445", "1405544146")
    if err != nil{
        panic(err)
    }

    fmt.Println(tm)
}
Copier après la connexion

L'objectif est pour convertir l'horodatage Unix "1405544146" en un objet time.Time. Cependant, l'exécution de ce code entraîne une erreur :

panic: parsing time "1405544146" as "1136239445": cannot parse "1405544146" as "06:20:23.9445"
Copier après la connexion

Solution

La fonction time.Parse est conçue pour analyser les chaînes de temps en utilisant une disposition spécifiée. Dans ce cas, la mise en page « 1136239445 » ne correspond pas au format de l'horodatage Unix. Pour analyser un horodatage Unix, vous devez utiliser une représentation entière.

Au lieu d'utiliser time.Parse, vous pouvez utiliser strconv.ParseInt pour analyser la chaîne en un int64, puis créer l'horodatage en utilisant time.Unix :

package main

import (
    "fmt"
    "time"
    "strconv"
)

func main() {
    i, err := strconv.ParseInt("1405544146", 10, 64)
    if err != nil {
        panic(err)
    }
    tm := time.Unix(i, 0)
    fmt.Println(tm)
}
Copier après la connexion

Sortie :

2014-07-16 20:55:46 +0000 UTC
Copier après la connexion

En utilisant strconv.ParseInt, vous pouvez éviter les erreurs liées à la mise en page et analyser avec succès les horodatages Unix.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal