1. 程式人生 > 實用技巧 >GO基礎(Time)

GO基礎(Time)

Time

timeObj := time.Now()
fmt.Println(timeObj)
year := timeObj.Year()//年
month := timeObj.Month()//月
day := timeObj.Day()//日
hour := timeObj.Hour()//時
minute := timeObj.Minute()//分
second := timeObj.Second()//秒
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d",year,month,day,hour,minute,second) //02代表寬度 如果整數不足兩位就自動補0

//格式化
var str = timeObj.Format("2006-01-02 15:04:05") //固定格式 15-代表24小時制 03-代表12小時制

fmt.Println(str)
unixObj := timeObj.Unix()//獲取當前時間戳

//時間戳轉日期格式字串
unixObj := timeObj.Unix()//獲取當前時間戳
dateObj := time.Unix(unixObj,0) //時間戳轉時間格式字串
fmt.Println(dateObj.Format("2006-01-02 15:04:05")) //格式化輸出

//日期字串轉時間戳
var str = "2020-01-01 01:01:01" //需要轉換的日期
var tmp = "2006-01-02 15:04:05" //格式化模板

timeObj,_ := time.ParseInLocation(tmp,str,time.Local) //獲取日期物件
fmt.Println(timeObj.Unix())

//新增1小時
timeObj := time.Now() //獲取當前時間物件
fmt.Println(timeObj.Format("2006-01-02 15:04:05")) //格式化輸出*/
timeObj = timeObj.Add(time.Hour) //新增1小時
fmt.Println(timeObj.Format("2006-01-02 15:04:05")) //格式化輸出*/

//定時器
ticker := time.NewTicker(time.Second) //生成一個定時器 並設定1秒執行一次
//fmt.Println(ticker)
n := 5
for t := range ticker.C{
fmt.Println(t)
n--
if(n == 0){
ticker.Stop()//stop終止定時器 好像還有一個Reset方法
break
}
}
//也可以做定時器
for {
time.Sleep(time.Second)
fmt.Println(time.Second)
break
}