3

import "time"

常用方法

 time.Now() //返回当前时间
 time.Now().Unix() //返回时间戳
 time.Now().Format("2006-01-02 15:04:05")// 格式换时间 "2006-01-02 15:04:05"相当于”YYYY-MM-DD HH:mm:ss“
 
 time.Unix(1574608496, 0) //将时间戳(秒) 转换为 time类型
 
 //将字符串转换为UTC日期第二个参数为需要转换的日期第一个参数为日期格式
 da, _ := time.Parse("2006-01-02 15:04", "2019-11-24 23:30") 
 
//将字符串转换为本地时区的时间
localTz, _ := time.LoadLocation("Local")
da7, _ := time.ParseInLocation("2006-01-02 15:04", "2019-11-24 23:30", localTz)

//时间计算
time.Now().Add(time.Second) //当前时间加一秒钟
time.Now().Add(time.Minute)//当前时间加一分钟
time.Now().Add(time.Hour) //当前时间加一小时
time.Now().AddDate(1,0,0) //当前时间加一年
time.Now().AddDate(0,1,0) //当前时间加一个月
time.Now().AddDate(0,1,1) //当前时间加一天

//时间取整
time.Now().Truncate(time.Minute) //获取当前的年月日时分 秒取0
time.Now().Truncate(time.Hour)//获取当前的年月日时 分秒取0

//获取当前的年月日  时分秒取0
day, _ := time.ParseDuration("24h")
time.Now().Truncate(day).Add(time.Hour*-8) 

time api

ParseDurations(durationString)(Dutarion, err) //将字符串转换为duration "ns", "us" (or "µs"), "ms", "s", "m", "h".
Since(t Time)Duration //time.Now() - t 的时间差
Until(t TIme)Duration  // t- time.Now() 的事件差
Parse(layout,value string)  //将string 转换为 time
ParseInLocation(layout, value string, local *Location)   //按照特定的时区将字符串转换为time
Unix(sec int64, nse int64)Time // 根据秒和纳秒获取时间

Duration 对象的方法


Hours()  // 将Duration作为浮点小时数返回。
Minutes()//将Duration作为浮点分钟数返回
Seconds() // 将Duration作为浮点秒数返回。
Milliseconds()//将Duration作为整数毫秒返回
Microseconds() //将Duration作为整数微秒返回
Nanoseconds() //将Duration作为整数纳秒返回
String() //将 Dutarion作为字符串返回
Round(d)  //将时间t(调用的Duration)以d Duration为单位进行四舍五入求近似值.
Truncate(d) //结合round理解,不是四舍五入而是直接舍掉
FixedZone() //返回一个位置时区
LoadLocation(name string) //根据名字获取时区 空的时候返回utc
LoadLocation("Local") //获取本地的时区

Time 对象的方法


Add(d Duration)Time  //time 加运算
AddDate(yars int ,months int, days int)Time //根据给定的年月日加
After(u Time)bool //判断 time 是否在u 之后
Before(u  Time)bool //判断time 是否在u 之前
Date()(year int, month Month, day int) //返回time对象的 年月日的值
Month()Month //获取time中的月
Day()int //获取time中的日
Hour()int //获取time中的时间
Minute()int //获取time中的分钟
Second()int //获取time中的秒
Year()int //获取time中的年
Weekday() Weekday //获取time 的星期几
YearDay()int //返回time日期为time年的第多少天
ISOWeek()(year, week int) //返回年和第几周
Naosecond()int //获取纳秒
Zone()(name string, offset int) //获取time的时区
Equal(u Time)bool // 判断u 是否和time 相等
Round(Duration d)//根据d进行四舍五入
Truncate(Duration d) //根据d进行舍
Format(layout string)string //将time转换为字符串
Sub(t Time) //  对象两个瞬间之间的差  
UTC()Time //返回time 位置为utc 的时间
Unix()int64 //返回秒时间戳
UnixNano() int64 //返回纳秒的时间戳

曹飞龙
167 声望8 粉丝

进取・坚韧・开放・影响