在golang中有关时间的部分操作,详情使用可参考官方文档。
通过time.Now
函数获取当前时间对象
now := time.Now() // 获取当前时间 year := now.Year() // 年 month := now.Month() // 月 day := now.Day() // 日 hour := now.Hour() // 小时 minute := now.Minute() // 分钟 second := now.Second() // 秒
获取时间戳
timestamp := now.Unix() // 秒级时间戳 milli := now.UnixMilli() // 毫秒时间戳 micro := now.UnixMicro() // 微秒时间戳 nano := now.UnixNano() // 纳秒时间戳
时间戳转时间
now := time.Now().Unix() logs.Info(now) unix := time.Unix(now, 0) logs.Info(unix)
字符串时间转time
var str string = "2022-06-28 11:23:50" timeObj, _ := time.Parse("2006-01-02 15:04:05", str) logs.Info(timeObj)
时间转字符串
t := time.Now() format := t.Format("2006-01-02 15:04:05")
时间加上指定时间间隔
t := time.Now() t2 := t.Add(time.Hour * 24) logs.Info(t2)
时间相减
sub := t2.Sub(t) logs.Info(sub.Hours())