一.根据时间戳获取日期
// 获取时间,该时间带有时区等信息,获取的为当前地区所用时区的时间 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)
请发表评论