Heim >Backend-Entwicklung >Golang >Verwenden Sie time.Parse, um die verschiedenen Zeiten davor und danach zu analysieren

Verwenden Sie time.Parse, um die verschiedenen Zeiten davor und danach zu analysieren

WBOY
WBOYnach vorne
2024-02-05 22:33:08542Durchsuche

Verwenden Sie time.Parse, um die verschiedenen Zeiten davor und danach zu analysieren

Frageninhalt

Ich muss eine Zeit als String empfangen, sie analysieren und sie dann wieder als String rendern:

package main

import ("fmt"; "time")

func main() {
  const timelayout = "mon, jan 2, 2006 15:04 pm"
  sourcetime :=      "mon, apr 7, 2025 7:36 pm"
  mytime, err := time.parse(timelayout, sourcetime)
  if err != nil { panic(err) }
  fmt.printf("\t\tsourcetime = \"%s\"\n mytime.format(timelayout) = \"%s\"\n",
    sourcetime, mytime.format(timelayout))
}

Das ist meine erwartete Ausgabe:

sourcetime = "mon, apr 7, 2025 7:36 pm"
 mytime.format(timelayout) = "mon, apr 7, 2025 7:36 pm"

Aber ich habe diese seltsame Ausgabe erhalten:

sourceTime = "Mon, Apr 7, 2025 7:36 PM"
 myTime.Format(timeLayout) = "Mon, Apr 7, 2025 19:36 PM"

Ich habe an der Variablen nichts geändert. Warum erhalte ich also unterschiedliche Ergebnisse für dasselbe Layout? Ich sollte dieses Zeitlayout nicht ändern. Aber auch hier muss ich die Quellzeichenfolge als Ergebnis erhalten.


Richtige Antwort


Ihr Zeitlayout verwendet das 24-Stunden-Format (z. B. 15:04 statt 3:04), sodass Sie beim Formatieren 19 statt 7 erhalten. Wenn Sie eine Zeit von 12 Stunden wünschen, sollte Ihr Zeitplan “2006 年 1 月 2 日星期一下午 3:04”

sein

Das obige ist der detaillierte Inhalt vonVerwenden Sie time.Parse, um die verschiedenen Zeiten davor und danach zu analysieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen