Как получить разницу часов между двумя датами
Я работаю в первый раз на Go, в этом случае у меня есть строка в формате UTC, я хотел бы знать, как я могу получить разницу между часами между моей датой и временем.
Это моя текущая строка
v := "2014-05-03 20:57 UTC"
Ответы
Ответ 1
Используйте time.Parse и time.Since:
package main
import (
"fmt"
"time"
)
const (
// See http://golang.org/pkg/time/#Parse
timeFormat = "2006-01-02 15:04 MST"
)
func main() {
v := "2014-05-03 20:57 UTC"
then, err := time.Parse(timeFormat, v)
if err != nil {
fmt.Println(err)
return
}
duration := time.Since(then)
fmt.Println(duration.Hours())
}
Ответ 2
Посмотрите пакет времени.
package main
import "fmt"
import "time"
func main() {
a, err := time.Parse("2006-01-02 15:04 MST", "2014-05-03 20:57 UTC")
if err != nil {
// ...
return
}
delta := time.Now().Sub(a)
fmt.Println(delta.Hours())
}
Ответ 3
В случае, если кому-то нужна разница между двумя датами. В формате year, days, hours. пример кода. Макет может быть любым. Я выбрал RFC3339.