Analyse des horodatages Unix dans Go
Lors de la tentative d'analyse d'un horodatage Unix en un objet time.Time à l'aide de la fonction time.Parse, les développeurs peut rencontrer une erreur « hors de portée ». Cette erreur peut prêter à confusion, surtout lorsque la mise en page fournie semble correcte selon la documentation Go.
Pour comprendre la cause de cette erreur, il est important de noter que time.Parse n'est pas conçu pour gérer les horodatages Unix. Au lieu de cela, il se spécialise dans l'analyse de chaînes représentant des valeurs temporelles dans un format spécifique.
Approche correcte :
Pour analyser les horodatages Unix, il est recommandé d'utiliser la fonction strconv.ParseInt pour convertir la chaîne d'horodatage en une représentation entière (int64). Cet entier peut ensuite être utilisé avec la fonction time.Unix pour créer un objet time.Time représentant l'horodatage spécifié.
package main import ( "fmt" "time" "strconv" ) func main() { unixTimestamp, err := strconv.ParseInt("1405544146", 10, 64) if err != nil { panic(err) } timestamp := time.Unix(unixTimestamp, 0) fmt.Println(timestamp) }
Ce code analysera correctement la chaîne d'horodatage Unix et créera un objet time.Time correspondant , qui peut être utilisé pour des opérations ou un stockage ultérieurs.
Remarques supplémentaires :
Pour éviter dépassements d'entiers potentiels sur les systèmes 32 bits, il est recommandé d'utiliser strconv.ParseInt au lieu de strconv.Atoi pour analyser les horodatages Unix. La fonction strconv.ParseInt prend en charge une plage plus large de valeurs entières, garantissant la compatibilité entre les systèmes.
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!