字符串转换(time)"/>
【Go学习笔记】时间和字符串转换(time)
func Parse(字符串转时间)
func Parse(layout, value string) (Time, error)
Parse解析一个格式化的时间字符串并返回它代表的时间。layout定义了时间格式,例如:
Mon Jan 2 15:04:05 -0700 MST 2006
自定义layout参数时必须采用这一规定时间,该时间具有各项取值皆不相等的特征,Parse方法通过解析各项取值来确定时间格式。
用法
可以转换成标准时间,也可以只保留部分时间项(例如年月日),具体根据layout调控。
t, _ := time.Parse("2006-01-02 15:04:05", "2022-08-08 08:08:08")
转换结果为:
2022-08-08 08:08:08 +0000 UTC
时间自动补全
- 当时间格式有缺漏时,解析时会默认取0
- 若该值不能取0(例如月份、日期),则默认取1
- 时区默认设置为UTC
例如:
t, _ := time.Parse("3:04pm", "3:04pm")
转换结果为:
0000-01-01 15:04:00 +0000 UTC
匹配失败
如果时间格式不匹配或字符串不完整,都会造成匹配失败:
//时间格式不匹配
t, _ := time.Parse("2006-01-02 15:04:05", "2022-08-08 8:8:8")
注意,时间格式需要区分是否用0占位。
//字符串不完整
t, _ := time.Parse("2006-01-02 15:04:05", "2022-08-08")
匹配失败后的转换结果为Time零值:
0001-01-01 00:00:00 +0000 UTC
func (Time) Format(时间转字符串)
func (t Time) Format(layout string) string
Format根据layout指定的格式返回t代表的时间点的格式化文本表示。
用法
//新建时间
t := time.Date(2022, time.August, 8, 8, 8, 8, 0, time.UTC)//转为字符串
str := t.Format("Jan 2, 2006 at 3:04pm (MST)")
转换结果为:
Aug 8, 2022 at 8:08am (UTC)
更多推荐
【Go学习笔记】时间和字符串转换(time)
发布评论