Ich muss eine Datetime-Zeichenfolge analysieren, die von einem Pseudozufallszeitgenerator erzeugt wird, die Unix() -Funktion verwendet. Die erzeugte Datumzeit nimmt verschiedene Datums- und Zeitpaare zwischen 2010 und 2017. Hier ist das Problem, diese Version des Codes auf meine beiden Computer arbeitet und Spielplatz,Golan Zeitanalyse funktioniert nicht ordnungsgemäß beim Arbeiten auf Spielplatz
package main
import (
"fmt"
"time"
)
func main() {
a := time.Date(2016, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
kk := time.Unix(a, 0)
t, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", kk.String())
if err != nil {
panic(err)
}
fmt.Println(t)
}
Aber die Version arbeitet unter auf Spielplatz und gerät in Panik auf meinem Computer,
package main
import (
"fmt"
"time"
)
func main() {
a := time.Date(2018, 1, 0, 0, 0, 0, 0, time.UTC).Unix()
kk := time.Unix(a, 0)
t, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", kk.String())
if err != nil {
panic(err)
}
fmt.Println(t)
}
Hier ist der Fehler,
panic: parsing time "2017-12-31 03:00:00 +0300 +03" as "2006-01-02 15:04:05.999999999 -0700 MST": cannot parse "+03" as "MST"
die Go-Version ich benutze, ist go1.8.3 darwin/amd64
.
Irgendwelche Ideen?
Mein erster Gedanke ist die Version von Golang, die Sie verwenden. Ich habe die zweite Version in Gogland-EAP mit go 1.8.3 auf einem Mac ausgeführt und hatte keine Probleme. Hier ist die Ausgabe: 2017-12-30 19:00:00 -0500 EST Prozess beendet mit Exit-Code 0 – ahillman3
Ich hätte die Version, die ich verwende, go1.8.3 darwin/amd64 erwähnt. Keine IDE oder irgendetwas, ich laufe einfach durch das Terminal. Vor dieser Version habe ich 1.7.2 verwendet und vor einer Stunde aktualisiert, nur um zu sehen, ob Update das Problem für mich lösen würde. – malisit
Identisch mit mir. Ich habe es nur Kommandozeile gemacht. Kein Problem. Ausgabe: go run main.go 2017-12-30 19:00:00 -0500 EST – ahillman3