Zeitdauer in Go
- Konvertierung von Dauerinstanzen
-
Verwenden Sie die
time.duration
-Methode -
Berechnen Sie die verstrichene Zeit mit der Bibliothek
time
- Wandeln Sie Zeitdauern in Go in eine Zahl um
Go Zeitdauer-Konvertierungen kann auf mehrere Arten erfolgen. Die Methoden time
library und time.duration
werden häufig zum Berechnen und Anzeigen von Zeit verwendet.
Beachten Sie, dass sich Dauer
auf die zwischen zwei definierten Zeitobjekten verstrichene Zeit als int64
Nanosekunden
-Zählung bezieht.
Konvertierung von Dauerinstanzen
Nanosekunde | 1 |
Mikrosekunde | 1000 * Nanosekunde |
Millisekunde | 1000 * Mikrosekunde |
Zweite | 1000 * Millisekunde |
Minute | 60 * Sekunde |
Stunde | 60 * Minute |
Verwenden Sie die time.duration
-Methode
package main
import (
"fmt"
"time"
)
func main() {
d, err := time.ParseDuration("1h25m10.9183256645s")
if err != nil {
panic(err)
}
count := []time.Duration{
time.Nanosecond,
time.Microsecond,
time.Millisecond,
time.Second,
2 * time.Second,
time.Minute,
10 * time.Minute,
time.Hour,
}
for _, r := range count {
fmt.Printf("(%6s) = %s\n", r, d.Round(r).String())
}
}
Ausgang:
( 1ns) = 1h25m10.918325664s
( 1µs) = 1h25m10.918326s
( 1ms) = 1h25m10.918s
( 1s) = 1h25m11s
( 2s) = 1h25m10s
( 1m0s) = 1h25m0s
( 10m0s) = 1h30m0s
(1h0m0s) = 1h0m0s
Der obige Code ermöglicht es uns, alle jeweiligen Dauern als Gleitkomma-Ganzzahl zu berechnen.
Berechnen Sie die verstrichene Zeit mit der Bibliothek time
package main
import (
"fmt"
"time"
)
func main() {
var t time.Duration = 100000000000000
fmt.Println(t.Hours())
fmt.Println(t.Minutes())
fmt.Println(t.Seconds())
now := time.Now()
time.Sleep(100000)
diff := now.Sub(time.Now())
fmt.Println("Elapsed time in seconds: ", diff.Seconds())
}
Ausgang:
27.77777777777778
1666.6666666666667
100000
Elapsed time in seconds: -0.0001
Die verstrichene Zeit sagt uns, wie lange es gedauert hat, bis der Prozessor die Zeitdauern berechnet hat.
Wandeln Sie Zeitdauern in Go in eine Zahl um
package main
import (
"fmt"
"time"
)
func main() {
timeInput := 3600
data := time.Duration(timeInput) * time.Millisecond
fmt.Println("The time in Nanoseconds:", int64(data/time.Nanosecond))
fmt.Println("The time in Microseconds:", int64(data/time.Microsecond))
fmt.Println("The time in Milliseconds:", int64(data/time.Millisecond))
}
Ausgang:
The time in Nanoseconds: 3600000000
The time in Microseconds: 3600000
The time in Milliseconds: 3600
Der obige Code ermöglicht es uns, eine Zahl in eine Zeitinstanz umzuwandeln, und dann führt time.Duration
Zeitumrechnungen durch. Am Ende wird die Zeitinstanz wieder in eine Zahl umgewandelt.
Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.
LinkedIn