Heim >Backend-Entwicklung >Golang >Wie rufe ich einen Unix-Zeitstempel in Go korrekt ab?

Wie rufe ich einen Unix-Zeitstempel in Go korrekt ab?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 11:02:10416Durchsuche

How to Correctly Retrieve a Unix Timestamp in Go?

Abrufen eines Unix-Zeitstempels in Go

In Go kann ein Unix-Zeitstempel (die aktuelle Zeit in Sekunden seit der Epoche) abgerufen werden Nutzung des Zeitpakets. Dieser Zeitstempel wird häufig für verschiedene Zwecke verwendet, beispielsweise für Dateiänderungen oder Datenbank-Zeitstempel.

Originalcode

Der bereitgestellte Code aus der Frage versucht, einen Unix-Zeitstempel abzurufen unter Verwendung der os.Time-Funktion:

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

Dieses Snippet weist einen logischen Fehler auf. Hier ist die detaillierte Aufschlüsselung des Codes:

  • os.Time(): Diese Funktion gibt einen Zeittyp zurück, einen Zeitstempel einer Wanduhr mit beliebigem Zeitzonenversatz.
  • _, _, err := os.Time(): Da uns nur der Zeitstempel in der aktuellen lokalen Zeitzone wichtig ist, verwenden wir zwei Variablen mit Unterstrichnamen (_ für leere Variablennamen), um die anderen beiden Rückgaben zu verwerfen Werte.
  • port[5] = int32(t): Diese Zeile versucht, den Zeitwert direkt einem int32-Array-Element zuzuweisen. Time ist jedoch ein time.Time-Typ, der nicht direkt mit int32 kompatibel ist.

Aktualisierter Code

Um einen Unix-Zeitstempel in Go zu erhalten, a Eine geeignetere Funktion ist time.Now().Unix(). Diese Funktion gibt eine Ganzzahl zurück, die die aktuelle Zeit als Anzahl der Sekunden seit der Unix-Epoche (1. Januar 1970 UTC) darstellt. Der aktualisierte Code wäre:

import "time"

...

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

Dieser überarbeitete Code ruft den Unix-Zeitstempel korrekt ab und weist ihn dem Element port[5] als int32 zu, indem er ihn mit time.Now().Unix() konvertiert. was eine Ganzzahl zurückgibt.

Das obige ist der detaillierte Inhalt vonWie rufe ich einen Unix-Zeitstempel in Go korrekt ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn