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
}

 

  

  

原文地址:https://www.cnblogs.com/finnlee/p/14106009.html