go語言時間和時間戳轉換


一.根據時間戳獲取日期

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM