Hier ist ein Spielplatzbeispiel für die Funktionsweise der Datumsformatierung. Dies konvertiert sowohl Zeichenfolgen in Zeit als auch druckt eine Zeit in einem bestimmten Format aus. play.golang.org/p/qK6_9KNJNx
Nitesh
Antworten:
241
Verwenden
fmt.Println(t.Format("20060102150405"))
Da Go die folgenden Konstanten zum Formatieren des Datums verwendet, finden Sie hier
const(
stdLongMonth ="January"
stdMonth ="Jan"
stdNumMonth ="1"
stdZeroMonth ="01"
stdLongWeekDay ="Monday"
stdWeekDay ="Mon"
stdDay ="2"
stdUnderDay ="_2"
stdZeroDay ="02"
stdHour ="15"
stdHour12 ="3"
stdZeroHour12 ="03"
stdMinute ="4"
stdZeroMinute ="04"
stdSecond ="5"
stdZeroSecond ="05"
stdLongYear ="2006"
stdYear ="06"
stdPM ="PM"
stdpm ="pm"
stdTZ ="MST"
stdISO8601TZ ="Z0700"// prints Z for UTC
stdISO8601ColonTZ ="Z07:00"// prints Z for UTC
stdNumTZ ="-0700"// always numeric
stdNumShortTZ ="-07"// always numeric
stdNumColonTZ ="-07:00"// always numeric)
Eigentlich ist das Golang-Format sehr seltsam. Warum nicht den yyyymmddHHiiss-Stil verwenden, sondern den "" 2006/01/02/15/04/05 ", ich habe nicht den wahren Grund dafür
Kewin
11
Die Layoutzeichenfolge ist eine Darstellung des Zeitstempels vom 2. Januar 15:04:05 2006 MST. Eine einfache Möglichkeit, sich an diesen Wert zu erinnern, besteht darin, dass er in dieser Reihenfolge die Werte enthält (mit den obigen Elementen ausgerichtet): 1 2 3 4 5 6 -7 Von golang.org/src/time/example_test.go
Kakilangit
28
Mnemonische Technik für Menschen außerhalb der USA: Stellen Sie sich vor, was Sie am 2. Januar 2006, nur fünf Sekunden nach 15:04 Uhr, getan haben, aber stellen Sie sich vor, dass es in Burkina Faso (UTC -7) passiert. Wenn Sie das nächste Mal ein Datum formatieren müssen, denken Sie einfach an dieses besondere Ereignis (!)
Enrico
3
Ich kannte die sequentielle Mnemonik nicht, praktisch, aber komm schon, warum ist es nicht der 1. Februar ...
Silasdavis
4
Alles, woran ich mich erinnern muss, ist, das Datum in der Reihenfolge Monat-Tag-Jahr anzuordnen, dann die Zeit in die Mitte zu setzen und die Zeitzone nach dem Jahr zu setzen, und es wird super einfach, sich zu erinnern. Ordentlich. Hat jemand eine Mnemonik, um sich an die Reihenfolge dieser Mnemonik zu erinnern?
Joey Sabey
20
Diese Frage wird in der Google-Suche angezeigt, wenn Sie das "aktuelle Golang-Zeitformat" finden. Denken Sie also daran, dass Sie für alle Personen, die ein anderes Format verwenden möchten, jederzeit anrufen können:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Um beispielsweise die aktuelle Datumszeit als "JJJJ-MM-TTTHH: MM: SS" (z. B. 2019-01-22T12: 40: 55) abzurufen, können Sie diese Methoden mit fmt.Sprintf verwenden:
Das Zeitpaket in Golang enthält einige Methoden, die einen Blick wert sein könnten.
func (Zeit) Format
func (t Zeit) Format (Layoutzeichenfolge) Zeichenfolge Format gibt eine Textdarstellung des gemäß Layout formatierten Zeitwerts zurück, der das Format definiert, indem er zeigt, wie die Referenzzeit ist.
Mon Jan 2 15:04:05 -0700 MST 2006 würde angezeigt, wenn es der Wert wäre; es dient als Beispiel für die gewünschte Ausgabe. Die gleichen Anzeigeregeln werden dann auf den Zeitwert angewendet. Vordefinierte Layouts ANSIC, UnixDate, RFC3339 und andere beschreiben Standard- und praktische Darstellungen der Referenzzeit. Weitere Informationen zu den Formaten und der Definition der Referenzzeit finden Sie in der Dokumentation zu ANSIC und den anderen in diesem Paket definierten Konstanten.
func ExampleTime_Format(){// layout shows by example how the reference time should be represented.const layout ="Jan 2, 2006 at 3:04pm (MST)"
t := time.Date(2009, time.November,10,15,0,0,0, time.Local)
fmt.Println(t.Format(layout))
fmt.Println(t.UTC().Format(layout))// Output:// Nov 10, 2009 at 3:00pm (PST)// Nov 10, 2009 at 11:00pm (UTC)}
Antworten:
Verwenden
Da Go die folgenden Konstanten zum Formatieren des Datums verwendet, finden Sie hier
quelle
Diese Frage wird in der Google-Suche angezeigt, wenn Sie das "aktuelle Golang-Zeitformat" finden. Denken Sie also daran, dass Sie für alle Personen, die ein anderes Format verwenden möchten, jederzeit anrufen können:
Um beispielsweise die aktuelle Datumszeit als "JJJJ-MM-TTTHH: MM: SS" (z. B. 2019-01-22T12: 40: 55) abzurufen, können Sie diese Methoden mit fmt.Sprintf verwenden:
Denken Sie wie immer daran, dass Dokumente die beste Lernquelle sind: https://golang.org/pkg/time/
quelle
Das Zeitpaket in Golang enthält einige Methoden, die einen Blick wert sein könnten.
Quelle ( http://golang.org/pkg/time/#Time.Format )
Ich habe auch ein Beispiel für die Definition des Layouts gefunden ( http://golang.org/src/pkg/time/example_test.go ).
quelle
gibt:
quelle