Datum und Zeit in Go
Datumsformat
Go verwendet ein recht eigensinniges Datumsformat. Anstatt Zeichen wie Y, M, D usw. zu verwenden, gibt es ein Referenzdatum. Die einzelnen Werte des Referenzdatums - die sich vom Wert nicht überschneiden - können zur Festlegung des gewünschten Datums verwendet werden.
Das Referenzdatum in Go
2006-01-02 15:04:05
- Jahr: 2006
- Monat: 01
- Tag: 02
- Stunde: 15
- Minute: 04
- Sekunde: 05
- Monatsname: January bzw. Jan
- Wochentag: Monday bzw. Mon
Das bedeutet: möchte man ein Datum im alten deutschen Format ausgeben, verwendet man (anstatt DD.MM.YYYY) "02.01.2006". Dieses Beispiel gibt das heutige Datum aus:
time.Now().Format("02.01.2006") // 24.03.2023
Datumsobjekt erzeugen
myDate := time.Now()
Aktuelles Jahr
currentYear := time.Now().Format("2006")
ISO-Format
fmt.Println(time.Now().Format("2006-01-02"))
Zeitdauer messen
start := time.Now()
...
elapsed := time.Since(start)
fmt.Println("execution time:", elapsed)
Datum parsen
package main
import (
"fmt"
"log"
"time"
)
// Datumsformat
const MY_DATE_FORMAT = "2006-01-02"
func main() {
mein_datums_string := "2022-03-28"
t, err := time.Parse(MY_DATE_FORMAT, mein_datums_string)
if err != nil {
// Ausgabe, wenn der String NICHT mit dem
// erwarteten Datumsformat geparst werden konnte
log.Fatal(err)
}
// Ausgabe des erfolgreich geparsten Datums
fmt.Println(t)
}
Feedback / Kontakt
Wenn Sie Fragen oder Anregungen zum Artikel Datum und Zeit in Go haben, senden Sie mir bitte eine E-Mail an: go+date@technotes.jakoubek.net