web-dev-qa-db-fra.com

Comment obtenir la différence d'heures entre deux dates

Je travaille pour la première fois sur Go. Dans ce cas, j’ai une chaîne au format UTC, je voudrais savoir comment obtenir la différence en heures entre ma date et l’heure actuelle. Ceci est ma chaîne actuelle

v := "2014-05-03 20:57 UTC"
39
Mauricio Sartori

Utilisez time.Parse et 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())
}
76
user634175

Jetez un coup d'œil au paquet de temps .

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())
}
36
jimt