一.根據時間戳獲取日期
// 獲取時間,該時間帶有時區等信息,獲取的為當前地區所用時區的時間 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)