unix时间戳
unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
go计算unix 时间戳
timestamp := time.Now().Unix()
fmt.Println(timestamp)
时间戳计算时间
time.Unix(timestamp, 0)
计算时间差
用到parse函数和sub函数
f1, err := time.Parse("2006-01-02 15:04:05", t1)
f2, err := time.Parse("2006-01-02 15:04:05", t2)
然后使用sub函数
d := (int)(f2.Sub(f1).Seconds())
code
以下代码可复制直接执行
package main
import (
"fmt"
"time"
)
func calc_seconds(t1 string, t2 string) int {
f1, err := time.Parse("2006-01-02 15:04:05", t1)
if err != nil {
return -1
}
f2, err2 := time.Parse("2006-01-02 15:04:05", t2)
if err2 != nil {
return -1
}
d := (int)(f2.Sub(f1).Seconds())
if d < 0 {
x := 0 - d
return x
}
return d
}
func calc_timenow() string {
timeStr := time.Now().Format("2006-01-02 15:04:05")
//fmt.Println(timeStr)
return timeStr
}
func main() {
timestamp := time.Now().Unix()
fmt.Println(timestamp)
time.Unix(timestamp, 0)
//获取时间戳
fmt.Println(calc_timenow())
f1 := "2021-04-11 13:34:37"
f2 := "2021-04-11 13:34:30"
fmt.Println(calc_seconds(f1, f2))
}