2
Ich versuche, Datum/Zeit-String in der Unix-Zeitstempel-String zu konvertieren:PHP Entspricht strtotime() in GO
<?php
echo strtotime("20140921040000");
?>
Output: 1411286400 //timestamp
Doing gleichen in GO lang, aber nicht gewünschtes Ergebnis zu bekommen. Go-Code ist unter:
package main
import (
"fmt"
"time"
)
func main() {
tm := time.Unix(1411286400, 0)
fmt.Println(tm) //output: 2014-09-21 08:00:00 +0000 UTC
//================
layout := "20060102150405"
str := "20140921040000"
t, err := time.Parse(layout, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(t) // output: 2014-09-21 04:00:00 +0000 UTC
}
Aber, es als PHP strtotime nicht gleich ist() . Beide Ausgänge sind unterschiedlich. Und die Ausgabe der PHP-Funktion ist korrekt. – Daisy
Eigentlich ist Ihr PHP falsch, da es wahrscheinlich das Servergebietsschema verwendet. Siehe oben PHP Code Beispiel. –
@Daisy In der Tat, aus [der Dokumentation] (http://php.net/strtotime): 'Jeder Parameter dieser Funktion verwendet die Standardzeitzone, sofern in diesem Parameter keine Zeitzone angegeben ist. Achten Sie darauf, in jedem Parameter keine anderen Zeitzonen zu verwenden, es sei denn, dies ist beabsichtigt. – Carpetsmoker