Ich versuche, die aktuelle Zeit mit diesem Format zu formatieren yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Das gibt aus:
yyyyMMddHHmmss
Irgendwelche Vorschläge?
Ich versuche, die aktuelle Zeit mit diesem Format zu formatieren yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Das gibt aus:
yyyyMMddHHmmss
Irgendwelche Vorschläge?
Antworten:
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
)
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:
t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
t.Year(), t.Month(), t.Day(),
t.Hour(), t.Minute(), t.Second())
Denken Sie wie immer daran, dass Dokumente die beste Lernquelle sind: https://golang.org/pkg/time/
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.
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 ).
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)
}