前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go:处理时间

go:处理时间

作者头像
超级大猪
发布2019-11-22 00:12:41
8610
发布2019-11-22 00:12:41
举报
文章被收录于专栏:大猪的笔记大猪的笔记

go中处理时间坑也挺多滴 时间转字符串

代码语言:javascript
复制
func TimeToStrLong(t time.Time) string {
    return t.Format("2006-01-02 15:04:05")
}

func TimeToStrShort(t time.Time) string {
    return t.Format("2006-01-02")
}

字符串转时间(注意时区)

代码语言:javascript
复制
// 谨慎使用time.Parse,它会直接转成utc时间

// ParseTime 字符串转时间, zone 为时区 东8=8;西5=-5
func ParseTime(strTime string, zone int) time.Time {
    var tzone = time.FixedZone("zone", zone*3600)
    t, _ := time.ParseInLocation("2006-01-02 15:04:05", strTime, tzone)
    return t
}

当前本地时间

代码语言:javascript
复制
// 这里返回的是本地时间
tstr := time.Now().Format("2006-01-02 15:04:05")
fmt.Println(tstr)

当前时间(带时区)

代码语言:javascript
复制
// 当前求美国东部时间(不考虑夏令时)
var estZone = time.FixedZone("EST", -5*3600)
tstr = time.Now().In(estZone).Format("2006-01-02 15:04:05")
fmt.Println(tstr)

时间戳

代码语言:javascript
复制
// TimeToTimestamp time 转为 10位timestamp
func TimeToTimestamp(t time.Time) int64 {
    ret := t.UnixNano() / 1000000000
    return ret
}

// TimestampToTime 十位 timestamp 转换为time
func TimestampToTime(timestamp int64) time.Time {
    tm := time.Unix(timestamp, 0)
    return tm
}

时间转日期(消去时分秒)

代码语言:javascript
复制
func TimeToDate(t time.Time) time.Time {
    loc, _ := time.LoadLocation("Asia/Chongqing")
    return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, loc)
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

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