"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment analyser en toute sécurité les horodatages Unix en Go?

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

Publié le 2025-02-08
Parcourir:629

How to Safely Parse Unix Timestamps in Go?

Comment analyser les horodatages Unix

Analyse des horodatage Unix dans Go peut sembler être une tâche simple, mais cela peut entraîner des erreurs inattendues. Lorsque vous essayez d'analyser un horodatage en utilisant Time.Parse, vous pouvez rencontrer une erreur hors de portée même si la mise en page semble être 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 un 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 sortira le temps correct:

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

note importante:

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

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3