0.6.日期与时间常用函数(2018.02.15)

使用之前请先引入:
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
注:Format("2006-01-02 15:04:05") 是固定写法,不要修改里面的数字。



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)











阅读更多
个人分类: GoLang
上一篇0.5.文件常用函数(2018.02.14)
下一篇0.7.异常处理(2018.02.16)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭