Чтобы найти разницу между двумя временами в Go (Golang), вы можете использовать различные методы. Вот несколько подходов с примерами кода:
Метод 1: использование метода Subтипа time.Time
package main
import (
"fmt"
"time"
)
func main() {
time1 := time.Date(2021, time.January, 1, 12, 0, 0, 0, time.UTC)
time2 := time.Date(2021, time.January, 1, 13, 30, 0, 0, time.UTC)
diff := time2.Sub(time1)
fmt.Println("Difference:", diff)
}
Метод 2: преобразование времени в временные метки Unix и вычисление разницы
package main
import (
"fmt"
"time"
)
func main() {
time1 := time.Date(2021, time.January, 1, 12, 0, 0, 0, time.UTC)
time2 := time.Date(2021, time.January, 1, 13, 30, 0, 0, time.UTC)
diff := time2.Unix() - time1.Unix()
fmt.Println("Difference (in seconds):", diff)
}
Метод 3: использование типа Durationи метода Sub
package main
import (
"fmt"
"time"
)
func main() {
time1 := time.Date(2021, time.January, 1, 12, 0, 0, 0, time.UTC)
time2 := time.Date(2021, time.January, 1, 13, 30, 0, 0, time.UTC)
diff := time2.Sub(time1)
duration := diff.Round(time.Second)
fmt.Println("Difference:", duration)
}
Эти методы вычисляют разницу между двумя значениями time.Time. Метод 1 и метод 3 предоставляют разницу в виде значения time.Duration, а метод 2 — в секундах.