go time字符串时间格式化

将一些不常用的字符串时间格式化为"2022-04-06 10:36:34"

const TimeTemplate = "2006-01-02 15:04:05"

func TestName(t *testing.T) {
	tt := time.Now() //当前时间
	tt.Unix() //时间戳

	ts := tt.Format(constant.TimeTemplate) //time转string
	fmt.Println(ts)
	st, _ := time.Parse(constant.TimeTemplate, ts) //string转time
	fmt.Println(st)

	ads := "2022-04-03T23:59:00+08:00"
	fmt.Println(RFC3339ToCSTLayout(ads))
}

func RFC3339ToCSTLayout(value string) (string, error) {
	ts, err := time.ParseInLocation(time.RFC3339, value, time.Local)
	if err != nil {
		return "", err
	}
	return ts.In(time.Local).Format(constant.TimeTemplate), nil
}

  

 

在处理阿里云ECS的时间格式时,其时间格式为 2022-04-03T23:59Z ,需要截取  Z  字符串,并拼接:00+00:00为time.RFC3339格式后处理 (只能这种笨方法,有其他好方法没0.0)

因为阿里云ECS的时间格式是UTC,所以拼接是+00:00, 如果正常的时间格式则拼接+08:00

posted @ 2022-04-06 10:47  灰灰灰~  阅读(289)  评论(0)    收藏  举报