Maison >développement back-end >Golang >Comment convertir correctement un horodatage Unix en un objet Go time.Time ?

Comment convertir correctement un horodatage Unix en un objet Go time.Time ?

DDD
DDDoriginal
2024-12-17 05:48:251001parcourir

How to Correctly Convert a Unix Timestamp to a Go time.Time Object?

Conversion de l'horodatage Unix en Time.Time - Correction d'une erreur hors plage

Lors de l'analyse des horodatages Unix à l'aide de time.Parse(), vous pouvez rencontrez une erreur « hors plage » même avec le format de date et d’heure correct. En effet, time.Parse() n'est pas destiné à l'analyse de l'horodatage Unix.

Pour résoudre ce problème, suivez les étapes suivantes :

  1. Analysez l'horodatage Unix en tant qu'int64. : Utilisez strconv.ParseInt() pour convertir la chaîne d'horodatage en un entier en base 10 (ou toute autre base que vous préférez).
  2. Convertissez l'int64 en un time.Time : Créez un objet time.Time en utilisant time.Unix(i, 0), où 'i' est l'int64 analysé à partir de l'étape 1. Cela générera un objet Time avec la date et l'heure correctes correspondant à l'horodatage Unix.

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

Sortie :

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

Cette méthode garantit que les horodatages Unix sont correctement analysés et convertis en objets time.Time, évitant ainsi l'erreur hors plage.

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