go 的时间与时间戳计算
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 的时间与时间戳计算相关的知识,希望对你有一定的参考价值。
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))
以上是关于go 的时间与时间戳计算的主要内容,如果未能解决你的问题,请参考以下文章