time.Now()返回的是一个Time类型。

相关代码如下

执行结果

Go语言基础之time包详解-LMLPHP

时间戳

时间戳:从北京时间1970年1月1日8点到现在时间的秒数,是一个int64类型。

相关代码

执行结果

Go语言基础之time包详解-LMLPHP

到目前为止已经有1603698727秒了,时间不等人呐!

纳秒时间戳

一般情况下我们使用的都是,但是时间戳还可以返回成纳秒,用的不多,了解就好。

代码

执行结果

Go语言基础之time包详解-LMLPHP

时间戳转Time

有时候别人给我们的是时间戳,我们需要反着转以下,时间戳->时间类型

需要用到的是time.Unix

代码

执行效果

Go语言基础之time包详解-LMLPHP

时间+

很多时候,我们拿到一个时间,我们需要向前或者向后推算一个月,或者几个小时,这就属于时间+

在Go中,时间推算有俩函数,一个是Add,一个是AddDate,分别是+小时+天数

Add

代码

Add最大单位是小时,只能+小时

执行结果

Go语言基础之time包详解-LMLPHP

AddDate

AddDate就牛逼很多了,有三个参数,分别是年,月,日,根据需求加就行了。

代码

执行结果

Go语言基础之time包详解-LMLPHP

注意:上述不仅可以时间+,还可以时间-前面加负号就可以了。

Sub

Sub通常用在计算某一段代码执行用了多久时间,最后时间-最开始时间=执行时间

代码

执行结果

Go语言基础之time包详解-LMLPHP

定时器

默认的定时器挺Low的,只有最简单的功能,了解就好。


示例:每隔一秒执行次相关代码。

代码

执行结果

Go语言基础之time包详解-LMLPHP

时间格式化(time -> string)

Go语言的时间格式化,有点逗,跟其他语言都不一样,没有%Y%M之类的写法。

记住一个时间2006-01-02 15:04:05.000 Mon Jan/PM Mon Jan

分别对应年-月-日 时:分:秒 24/12

当前,同其语言一样,可以只格式化年-月-日等。

格式时间需要用到Format方法。


代码

执行结果

Go语言基础之time包详解-LMLPHP

字符串格式化时间(string -> time)

将拿到的时间字符串转成时间类型。

代码

执行结果

Go语言基础之time包详解-LMLPHP

总结

到这终于结束了,关于Go时间的操作基本就上述这么多。

当然,这是自带的包的功能有这么多,对于平常使用基本够用。

其实主要重要的是AddAddDate时间 -> 格式化字符串字符串 -> 时间,这些在平常中使用频率最高。

以上就是Go语言基础之time包详解的详细内容,更多请关注Work网其它相关文章!

09-18 08:16