Maison >développement back-end >Golang >Comment récupérer correctement un horodatage Unix dans Go ?

Comment récupérer correctement un horodatage Unix dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 11:02:10416parcourir

How to Correctly Retrieve a Unix Timestamp in Go?

Récupération d'un horodatage Unix dans Go

Dans Go, l'obtention d'un horodatage Unix (l'heure actuelle en secondes depuis l'époque) peut être obtenue en utilisant le forfait temps. Cet horodatage est souvent utilisé à diverses fins, telles que pour des modifications de fichiers ou des horodatages de bases de données.

Code original

Le code fourni dans la question tente de récupérer un horodatage Unix. en utilisant la fonction os.Time :

if t, _, err := os.Time(); err == nil {
    port[5] = int32(t)
}

Cet extrait contient une erreur logique. Voici la répartition détaillée du code :

  • os.Time() : Cette fonction renvoie un type Time, un horodatage d'horloge murale avec un décalage de fuseau horaire arbitraire.
  • _, _, err := os.Time() : Puisque nous nous soucions uniquement de l'horodatage dans le fuseau horaire local actuel, nous utilisons deux variables nommées par un trait de soulignement (_ pour les noms de variables vides) pour ignorer les deux autres retours valeurs.
  • port[5] = int32(t) : Cette ligne tente d'attribuer la valeur Time directement à un élément du tableau int32. Cependant, Time est un type time.Time, qui n'est pas directement compatible avec int32.

Code mis à jour

Pour obtenir un horodatage Unix dans Go, un une fonction plus appropriée est time.Now().Unix(). Cette fonction renvoie un entier représentant l'heure actuelle sous forme de nombre de secondes depuis l'époque Unix (1er janvier 1970 UTC). Le code mis à jour serait :

import "time"

...

port[5] = time.Now().Unix()

Ce code révisé récupère correctement l'horodatage Unix et l'attribue à l'élément port[5] en tant qu'int32 en le convertissant à l'aide de time.Now().Unix(), qui renvoie un entier.

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