Travailler avec les horodatages est essentiel en programmation. Lorsque vous traitez des horodatages Unix, vous pouvez rencontrer une erreur « hors plage » lors de l'analyse de l'horodatage à l'aide de time.Parse. Cet article fournira une solution pour résoudre ce problème dans Go.
Tenter d'analyser un horodatage Unix à l'aide de la fonction time.Parse peut entraîner une erreur en raison d'une mise en page incorrecte. Cela peut prêter à confusion, car la mise en page semble correcte selon la documentation Go.
La fonction time.Parse n'est pas destinée à analyser les horodatages Unix. Pour analyser les horodatages Unix, vous pouvez utiliser la fonction strconv.ParseInt pour convertir l'horodatage de chaîne en int64, puis créer une valeur time.Time à l'aide de time.Unix.
Voici un exemple de code corrigé qui montre comment analyser correctement un horodatage Unix :
package main import ( "fmt" "time" "strconv" ) func main() { timestamp := "1405544146" i, err := strconv.ParseInt(timestamp, 10, 64) if err != nil { panic(err) } tm := time.Unix(i, 0) fmt.Println(tm) }
Le La fonction strconv.ParseInt prend la chaîne d'horodatage, sa base (10 dans ce cas) et la taille en bits (64 pour gérer les horodatages volumineux). Il renvoie une représentation int64 de l'horodatage.
La fonction time.Unix prend la valeur int64 et crée une valeur time.Time représentant l'horodatage.
Le code ci-dessus affichera ce qui suit :
2014-07-16 20:55:46 +0000 UTC
En utilisant strconv.ParseInt et time.Unix au lieu de time.Parse, vous pouvez analyser avec succès les horodatages Unix dans Go et éviter l'erreur "hors plage". Cette approche fournit une solution simple et fiable pour travailler avec des horodatages.
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!