本文摘自php中文网,作者尚,侵删。
Go的time包是标准库中的包之一
不用说,几乎是开发必须用到的包之一。time包的说明文档在:(推荐:go视频教程)
http://golang.org/pkg/time/
看看godoc文档,最大的数据类型就是Time了,这个Time类型最微小可以表示到nanosecond(微毫秒,十亿份之一秒)。
Time的比较是使用Before,After和Equal方法。看一眼After:
func (t Time) After(u Time) bool
很好,返回的是bool类型,是我们所需要的。
Sub方法返回的是两个时间点之间的时间距离,看上图看到它返回的是Duration结构,这个结构的具体类型和操作也在godoc中
Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub,将t0加d获取t1就是使用Add方法
IsZero方法:Time的zero时间点是January 1, year 1, 00:00:00 UTC,这个函数判断一个时间是否是zero时间点
Local,UTC,Ln是用来显示和计算地区时间的。
下面从几个需求直接看time的使用
1 请打出当前时间的时间戳,然后将时间戳格式为年月日时分秒的形式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
显示:
特别是Format这个函数,可以好好使用
2 输出当前星期几?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
文档中对这个Weekday类型就没有说明!!没法,直接看代码可以看到:
Weekday有一个String()方法
好了,看到这里外带我们有一个推测:
当一个结构中有定义String()函数的时候,fmt.Println()是会调用String的
例子如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
更多go知识请关注go语言教程栏目。
以上就是go语言time包的一些使用方法的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
awesome Go!高玩Gopher都会参考的Go资源集合
聊聊dubbo-Go-proxy的authorityfilter
更多相关阅读请进入《Go》频道 >>
Go语言101
一个与时俱进的Go编程知识库。