前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang 时间戳获取、类型转换、时间比较

golang 时间戳获取、类型转换、时间比较

原创
作者头像
IT工作者
发布2022-07-08 10:20:09
2.5K0
发布2022-07-08 10:20:09
举报
文章被收录于专栏:程序技术知识

获取当前时间、秒级时间戳

代码语言:javascript
复制
time.Now()// 获取当前时间,类型为time.Time

代码语言:javascript
复制
time.Unix()// 获取当前时间的秒级时间戳,时间戳的起始时间是2006-01-02 15:04:05,go语言的诞生时间

获取任意时间的秒级时间戳

代码语言:javascript
复制
t.Unix()// 获取秒级时间戳

时间、时间戳转换为字符串

时间转时间字符串

代码语言:javascript
复制
timeStr := time.Now().Format("2006-01-02")

时间戳转时间字符串

代码语言:javascript
复制
timeTemplate1 := "2006-01-02 15:04:05"
t := int64(1546926630)      //外部传入的时间戳(秒为单位),必须为int64类型
timeStr := time.Unix(t, 0).Format(timeTemplate1)

字符串转时间对象

方式一

代码语言:javascript
复制
time.ParseInLocation()转换成本地时区的时间
代码语言:javascript
复制


timeTemplate1 := "2006-01-02 15:04:05"
t1 := "2022-07-06 13:50:30" //外部传入的时间字符串
t1_time, _ := time.ParseInLocation(timeTemplate1, t1, time.Local) 
//使用parseInLocation将字符串格式化返回本地时区时间

方式二

如果调用 time .parse() 会相差 8小时。默认时区是utc

代码语言:javascript
复制
time1 := "2015-03-20 08:50:29"
t1, err := time.Parse("2006-01-02 15:04:05", time1)

时间对象(time.Time)的比较

Before, After, Equal,分别对应<,>,==

代码语言:javascript
复制
t1.Before(t2)// t1 < t2
t1.After(t2)// t1 > t2
t1.Equal(t2)// t1 == t2

当前时间加1分钟

time.ParseDuration()函数参数的有效时间单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。该函数返回一个 Duration 对象,配合time的Add()方法使用,可以获取相差指定区间的时间。这个函数假设没有润秒。后面需要验证下会不会有闰年这种考虑。

代码语言:javascript
复制
// 当前时间加一分钟
 m, _ := time.ParseDuration("1m")
 m1 := time.Now().Add(m)
 
 // 转换成时间字符串
 str := m1.Format("2006-01-02 15:04:05")
 
 fmt.Println(str) // 输出:"2022-06-24 14:14:56"

计算时间差

代码语言:javascript
复制
diff := t2.Unix() - t1.Unix() //获得相差的秒数,t1和t2都是time.Time类型
hour = diff / 3600 // 相差的小时数

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档