使用之前请先引入:
import (
"time"
)
|
1.获取当前本地时间:
now := time.Now() //2018-03-30 10:13:08.1173064 +0800 CST m=+0.064003701 |
2.获取当前本地时间戳:
s :=
time.Now().Unix()
//精确到秒:1522375988
ns :=
time.Now().UnixNano()
//精确到纳秒:1522375988117306400
m :=
ns / 1e6
//纳秒转毫秒:1522375988117
s1 :=
ns / 1e9
//纳秒转秒:1522375988
|
3.时间戳转本地时间:
t :=
time.Unix(
1469579899
, 0)
//2016-07-27 08:38:19 +0800 CST
y :=
t
.Year()
//2016
m :=
t
.Month()
//7
d :=
t
.Day()
//27
h :=
t
.Hour()
//8
mi :=
t
.Minute()
//38
s :=
t
.Second()
//19
|
4.当前时间格式化为字符串:
t :=
time.Now().Format("2006-01-02 15:04:05")
//2018-03-30 10:13:08
// 对精确到秒的时间戳进行格式化
t1 :=
time.Unix(
1469579899
, 0).Format("2006-01-02 15:04:05")
//2016-07-27 08:38:19
// 对精确到纳秒的时间戳进行格式化
t2 :=
time.Unix(0,
1522375988117306400
).Format("2006-01-02 15:04:05")
//2018-03-30 10:13:08
|
5.字符串转为时间:
//time.Parse将字符串转为时间
t2, _
:=
time.Parse("2006-01-02 15:04:05", "
2016-07-27 08:46:15
")
//2016-07-27 08:46:15 +0000 UTC
t2.Unix() //1469609175
//t2是否在当前时刻之前
t2
.Before(time.Now())
//true
//t2是否在当前时刻之后
t2
.After(time.Now())
//false
//获取3天之后的时间
t2
.Add(
3 * 24 *
time.Hour)
//2016-07-30 08:46:15 +0000 UTC
//增加日期(年,月,日)
t2
.AddDate(1, 2, 3)
//2017-09-30 08:46:15 +0000 UTC
//返回现在跟t2之间的时间差
time.Now().Sub(
t2
)
//14658h26m36.8672852s
//时间转字符串
t2.String()
//2016-07-27 08:46:15 +0000 UTC
|
6.定时休眠:
// 休眠1秒
time.Sleep(
1
* time.Second)
// 休眠100毫秒
time.Sleep(
100
* time.Millisecond)
|