温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Golang字符串怎么转time类型

发布时间:2023-03-08 11:35:59 来源:亿速云 阅读:237 作者:iii 栏目:开发技术

这篇文章主要讲解了“Golang字符串怎么转time类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang字符串怎么转time类型”吧!

前言

由于数据库的类型为Data 类型,所以插入数据库的时候我先把前端传入的string类型的时间转为Time 再插入。

Go 提供了两种插入的方式,即time.Parse 和 time.ParseInLocation 。两种方式,他们的差异比较大。

Golang字符串怎么转time类型

可以看出两种方式转换后的时间 相差了 8个小时,这是因为时区的原因。

  • time.Parse 把时间字符串转为了Time,时区是UTC时区

  • time.ParseInLocation 可以根据时间字符串和指定的时区转化

而CST时区则是东八区(北京时间) 和 UTC(世界标准时间)相差8个小时

这个看情况去选定时区。

时区

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。在本文中,UTC与GMT含义完全相同。
北京时区(CST)是东八区,领先UTC八个小时

使用

// 支持什么类型都可以自己加
var timeTemplates = []string{
    //"2006-01-02 15:04:05", //常规类型
    //"2006/01/02 15:04:05",
    "2006-01-02",
    //"2006/01/02",
}

func TimeStringToGoTime(tm string) time.Time {

    for i := range timeTemplates {
        t, err := time.ParseInLocation(timeTemplates[i], tm, time.Local)
        if nil == err && !t.IsZero() { return t }
    }
    return time.Time{}
}

感谢各位的阅读,以上就是“Golang字符串怎么转time类型”的内容了,经过本文的学习后,相信大家对Golang字符串怎么转time类型这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI