Einführung
Dieses Labor zielt darauf ab, Ihr Verständnis der Zeit- und Zeitspanneunterstützung in Go zu testen.
This tutorial is from open-source community. Access the source code
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
Dieses Labor zielt darauf ab, Ihr Verständnis der Zeit- und Zeitspanneunterstützung in Go zu testen.
Der folgende Code enthält Beispiele dafür, wie man in Go mit Zeit und Zeitspanne umgeht. Einige Teile des Codes fehlen jedoch. Ihre Aufgabe ist es, den Code zu vervollständigen, damit er wie erwartet funktioniert.
$ go run time.go
2012-10-31 15:50:13.793654 +0000 UTC
2009-11-17 20:34:58.651387237 +0000 UTC
2009
November
17
20
34
58
651387237
UTC
Tuesday
true
false
false
25891h15m15.142266763s
25891.25420618521
1.5534752523711128e+06
9.320851514226677e+07
93208515142266763
2012-10-31 15:50:13.793654 +0000 UTC
2006-12-05 01:19:43.509120474 +0000 UTC
## Als nächstes betrachten wir die verwandte Idee der Zeit
## relativ zum Unix-Epoch.
Der vollständige Code ist unten:
// Go bietet umfangreiche Unterstützung für Zeiten und Zeitspannen;
// hier sind einige Beispiele.
package main
import (
"fmt"
"time"
)
func main() {
p := fmt.Println
// Wir beginnen mit dem Abrufen der aktuellen Zeit.
now := time.Now()
p(now)
// Man kann ein `time`-Struct erstellen, indem man das
// Jahr, Monat, Tag usw. angibt. Zeiten sind immer mit
// einem `Location` assoziiert, d.h. Zeitzone.
then := time.Date(
2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
p(then)
// Man kann die verschiedenen Komponenten des Zeit-
// werts wie erwartet extrahieren.
p(then.Year())
p(then.Month())
p(then.Day())
p(then.Hour())
p(then.Minute())
p(then.Second())
p(then.Nanosecond())
p(then.Location())
// Der Montag-Sonntag `Weekday` ist ebenfalls verfügbar.
p(then.Weekday())
// Diese Methoden vergleichen zwei Zeiten und testen, ob
// die erste vor, nach oder gleichzeitig mit der zweiten
// auftritt, respective.
p(then.Before(now))
p(then.After(now))
p(then.Equal(now))
// Die `Sub`-Methode gibt eine `Duration` zurück, die
// den Zeitintervall zwischen zwei Zeiten repräsentiert.
diff := now.Sub(then)
p(diff)
// Wir können die Länge der Zeitspanne in verschiedenen
// Einheiten berechnen.
p(diff.Hours())
p(diff.Minutes())
p(diff.Seconds())
p(diff.Nanoseconds())
// Man kann `Add` verwenden, um eine Zeit um eine gegebene
// Zeitspanne voranzuschieben, oder mit einem `-`, um
// rückwärts um eine Zeitspanne zu gehen.
p(then.Add(diff))
p(then.Add(-diff))
}
In diesem Labor wurde Ihre Fähigkeit getestet, mit der Zeit- und Zeitspanneunterstützung in Go umzugehen. Sie haben gelernt, wie man verschiedene Komponenten eines Zeitwerts extrahiert, zwei Zeiten vergleicht, die Länge einer Zeitspanne berechnet und eine Zeit um eine gegebene Zeitspanne voranzuschiebt.