去,两个日期之间的小时差异

Mau*_*ori 42 time go

我第一次在Go工作,在这种情况下,我有一个UTC格式的字符串,我想知道,我怎么能在我的日期和现在的时间之间得到差异.这是我目前的字符串

v := "2014-05-03 20:57 UTC"
Run Code Online (Sandbox Code Playgroud)

小智 78

使用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())
}
Run Code Online (Sandbox Code Playgroud)

  • 我的不好我正在检查goplayground并且在操场上时间开始于2009-11-10 23:00:00 UTC(确定此日期的重要性是读者的练习).这使得通过为程序提供确定性输出来更容易地缓存程序. (2认同)

jim*_*imt 36

看看时间包.

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())
}
Run Code Online (Sandbox Code Playgroud)

  • 虽然`time.Since`实际上在内部使用`Sub`,但我宁愿使用`Since`.打字少,阅读效果更好. (5认同)