Zeit mit einer bestimmten Zeitzone analysieren
Sie können time.ParseTime() verwenden, um eine Zeitstruktur aus einer Zeichenfolge abzurufen. Als Argument wird eine Layoutzeichenfolge verwendet, die das Format der Eingabezeichenfolge angibt. Die Layoutzeichenfolge muss genau mit dem Format der Eingabezeichenfolge übereinstimmen.
Wenn Sie eine Zeitzeichenfolge analysieren müssen, die eine Zeitzone enthält, können Sie time.ParseInLocation() verwenden. Diese Funktion benötigt einen Layout-String und einen Speicherort als Argumente. Der Standort kann ein time.Location-Wert oder eine Zeichenfolge sein, die einen Zeitzonennamen darstellt.
Der folgende Code analysiert beispielsweise eine Zeitzeichenfolge, die eine Zeitzone enthält:
import (
"fmt"
"time"
)
func main() {
const layout = "2006-01-02 15:04"
const timeStr = "2012-07-09 05:02:00 0000 CEST"
t, err := time.ParseInLocation(layout, timeStr, time.Local)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(t)
}
Dieser Code gibt die folgende Ausgabe aus:
2012-07-09 05:02:00 0000 CEST
Die Funktion time.ParseInLocation() analysiert die Zeit Zeichenfolge entsprechend der Layoutzeichenfolge und dem angegebenen Speicherort. In diesem Fall lautet die Layoutzeichenfolge „2006-01-02 15:04“ und der Standort ist „CEST“. Die Funktion time.ParseInLocation() gibt einen time.Time-Wert zurück, der die analysierte Zeit darstellt.
Wenn Sie keinen Ort angeben, verwendet die Funktion time.ParseInLocation() die lokale Zeitzone. Dies bedeutet, dass die geparste Zeit in die lokale Zeitzone konvertiert wird.
Sie können dies vermeiden, indem Sie einen time.Time-Wert mit der richtigen Zeit und Zeitzone erstellen:
import (
"fmt"
"time"
)
func main() {
const layout = "2006-01-02 15:04"
const timeStr = "2012-07-09 05:02:00"
const timeZone = "CEST"
pz, err := time.LoadLocation(timeZone)
if err != nil {
fmt.Println(err)
return
}
t, err := time.Parse(layout, timeStr)
if err != nil {
fmt.Println(err)
return
}
T := t.In(pz)
fmt.Println(T)
}
Dieser Code gibt die folgende Ausgabe aus:
2012-07-09 05:02:00 0200 CEST
Die Ausgabe dieses Codes zeigt die Uhrzeit korrekt an Zeitzone.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3