如何获得两个日期之间的小时差异

时间:2014-05-23 21:55:54

标签: time go

我第一次在Go上工作,在这种情况下我有一个UTC格式的字符串,我想知道,我怎样才能在我的日期和现在的时间之间得到不同的小时数。 这是我当前的字符串

v := "2014-05-03 20:57 UTC"

2 个答案:

答案 0 :(得分:74)

使用time.Parsetime.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())
}

答案 1 :(得分:36)

查看time package

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