go 时间篇
Go的time包是标准库中的包之一不用说,几乎是开发必须用到的包之一。time包的说明文档在: http://golang.org/pkg/time/ 先注意下Overview中的一句话: The calendrical calculations always assume a Gregorian calendar. 这个包的时间计算式是基于格里历,就是我们使用的公历。关于格里历的历史,可以看百度百科: http://baike.baidu.com/view/391054.htm 看看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 请打出当前时间的时间戳,然后将时间戳格式为年月日时分秒的形式
显示: 特别是Format这个函数,可以好好使用 2 输出当前星期几?
文档中对这个Weekday类型就没有说明!!没法,直接看代码可以看到: Weekday有一个String()方法 好了,看到这里外带我们有一个推测: 当一个结构中有定义String()函数的时候,fmt.Println()是会调用String的例子如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |