Heim  >  Artikel  >  Backend-Entwicklung  >  So stellen Sie die Zeitzone in Golang ein

So stellen Sie die Zeitzone in Golang ein

藏色散人
藏色散人Original
2023-03-25 11:47:583369Durchsuche

So stellen Sie die Zeitzone in Golang ein: 1. Legen Sie die Zeitzone auf den Bezirk Dongba fest, indem Sie einen Code wie „var cstZone = time.FixedZone(“CST“, 8*3600)“ festlegen. 2. Laden Sie die angegebene Zeitzone. Einstellungscode wie „var cstSh , _ = time.LoadLocation(“Asia/Shanghai“)“.

So stellen Sie die Zeitzone in Golang ein

Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO Version 1.18, Dell G3-Computer.

Wie stelle ich die Zeitzone in Golang ein?

Einstellung der Zeitzone

Einteilung der Zeitzonen

Die Welt nimmt Greenwich, London, England als Ausgangspunkt des Nullgrad-Längengrades. Der 15. Längengrad ist der Mittelpunkt Meridian der Zeitzone, die in 24 Zeitzonen unterteilt ist. Eine Zeitzone nimmt alle 15 Längengrade von West nach Ost zu, und umgekehrt nimmt eine Zeitzone alle 15 Längengrade nach Westen ab. Chinas Zeitzone ist Ost 8.

Zeitformat

Die aktuelle Uhrzeit time.Now() gibt die Zeit in der lokalen Zeitzone zurück:

func main() {
    t := time.Now()  
    fmt.Println(t) //2020-12-16 09:34:19.5828312 +0800 CST m=+0.004002201
}

CST-Zeit

CST kann die folgenden vier verschiedenen Zeitzonen darstellen:

Central Standard Time (USA) UT-6:00:美国标准时间
Central Standard Time (Australia) UT+9:30:澳大利亚标准时间
China Standard Time UT+8:00:中国标准时间
Cuba Standard Time UT-4:00:古巴标准时间

time.Now () Die zurückgegebene +0800 CST stellt die chinesische Standardzeit dar und hat die folgende Umrechnung mit UTC-Zeit:

GMT + 8 = UTC + 8 = CST

Monotonic Clocks and Wall Clocks

Wall Clocks stellt die Wanduhrzeit dar, die seit 0:00 Uhr am 1. Januar gespeichert wird , 1970 Zeitstempel seit 0 Minuten und 0 Sekunden Wenn das System und der Timing-Server Zeitkalibrierungsvorgänge durchführen, ist es möglich, dass diese Sekunde 2018-1-1 00:00:00 ist und die nächste Sekunde 2017-12-31 23 wird :59:59 Situation.

Monotone Zeit bedeutet monotone Zeit, die nur vorwärts wächst und von der Zeitanpassungsoperation nicht beeinflusst wird.

time.Now() gibt m=+0,004002201 zurück, was monotone Uhren bedeutet

Zeitzoneneinstellung

Wenn die angegebene Zeitzone nicht in der Go-Sprache eingestellt ist, wird die durch time.Now() erhaltene lokale Zeitzone verwendet die lokale Zeitzone

func main() {
    t := time.Now()   //返回本地时区格式
    fmt.Println(t)
}

Es gibt zwei Möglichkeiten, die Zeitzone einzustellen:

  • Feste Zeitzone (empfohlen)

var cstZone = time.FixedZone("CST", 8*3600)         // 东八
fmt.Println(time.Now().In(cstZone).Format("2006-01-02 15:04:05"))

Legen Sie die Zeitzone auf den East Eighth District fest. Dies ist jedoch keine globale Einstellung für das Programm. Jedes Mal, wenn Sie es erhalten, müssen Sie die Zeitzone festlegen.

  • Zeitzone laden. Wenn Sie diese Methode jedoch ohne eine Go-Umgebung verwenden, schlägt das Laden fehl, da die Zeitzoneninformationen im Go-Installationspaket abgelegt werden.

Konfigurieren der Zeitzone im Docker

Wenn Sie die zweite Methode zum Laden der Zeitzone verwenden, müssen Sie die Zeitzone beim Erstellen des Docker-Images konfigurieren. Die Konfigurationsdatei lautet wie folgt:

var cstSh, _ = time.LoadLocation("Asia/Shanghai") //  上海
fmt.Println(time.Now().In(cstSh).Format("2006-01-02 15:04:05"))
Empfohlenes Lernen: „

Go-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo stellen Sie die Zeitzone in Golang ein. 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