go语言时间和时间戳转换

一.根据时间戳获取日期

// 获取时间,该时间带有时区等信息,获取的为当前地区所用时区的时间  
timeNow := time.Now()
// 获取时间戳 
unix := time.Now().Unix()  
// 获取UTC时区的时间  
utcTime := time.Now().UTC()  
// go语言固定日期模版  
timeLayout := "2006-01-02 15:04:05"  
// time.Unix的第二个参数传递0或10结果一样,因为都不大于1e9  
timeStr := time.Unix(unix, 0).Format(timeLayout)  
fmt.Println(timeNow, unix, utcTime, timeStr)  

// 获取年月日,其中month为string,也就是英文的月份  
year, month, day := time.Now().Date()
fmt.Printf("year is %+v, month is %+v, day is %+v \n", year, month, day)  
复制代码

二.将时间转换为时间戳

// string转化为时间,layout必须为 "2006-01-02 15:04:05"
times, _ := time.Parse(timeLayout, "2014-06-15 08:37:18")  
timeUnix := times.Unix()  
fmt.Printf("times is %+v \n, timeUnix is %+v", times, timeUnix)
复制代码

三. 根据mysql中timestamp字段获取时间字符串

如下实例,其中lectureModel的create_time字段为timestamp  
lecture, err := ll.lectureModel.FindOne(req.LectureId) 
// 获取当前时区unix时需要减去3600*8,原因是mysql存储的时间为UTC时间
unixT := lecture.CreateTime.Unix() - 3600*8
timeStr := time.Unix(unixT, 0).Format(DateDetailLayout)  
复制代码
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值