Maison >développement back-end >Golang >Comment analyser en toute sécurité les horodatages Unix dans Go ?

Comment analyser en toute sécurité les horodatages Unix dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 00:49:25298parcourir

How to Safely Parse Unix Timestamps in Go?

Comment analyser les horodatages Unix

L'analyse des horodatages Unix dans Go peut sembler une tâche simple, mais elle peut entraîner des erreurs inattendues. Lorsque vous tentez d'analyser un horodatage à l'aide de time.Parse, vous pouvez rencontrer une erreur hors de portée même si la mise en page semble correcte.

La raison en est que time.Parse ne gère pas les horodatages Unix. Au lieu de cela, vous devez utiliser la fonction strconv.ParseInt pour convertir la chaîne d'horodatage en int64, puis utiliser la fonction time.Unix pour créer un objet time.Time.

Voici un exemple :

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)
}

Ce code affichera l'horodatage correct :

2014-07-16 20:55:46 +0000 UTC

Important Remarque :

Dans l'exemple d'origine, strconv.Atoi a été utilisé à la place de strconv.ParseInt. Cependant, strconv.Atoi peut entraîner des débordements d'entiers sur les systèmes 32 bits. Par conséquent, strconv.ParseInt est recommandé pour gérer tous les cas en toute sécurité.

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