继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

时间和日期

慕码人8056858
关注TA
已关注
手记 1255
粉丝 350
获赞 1323

时间和日期

webp

image

time 包为我们提供了一个数据类型 time.Time(作为值使用)以及显示和测量时间和日期的功能函数。

当前时间可以使用 time.Now() 获取,或者使用 t.Day()t.Minute() 等等来获取时间的一部分;你甚至可以自定义时间格式化字符串,例如: fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) 将会输出 21.07.2011

Duration 类型表示两个连续时刻所相差的纳秒数,类型为 int64。Location 类型映射某个时区的时间,UTC 表示通用协调世界时间。

包中的一个预定义函数 func (t Time) Format(layout string) string 可以根据一个格式化字符串来将一个时间 t 转换为相应格式的字符串,你可以使用一些预定义的格式,如:time.ANSICtime.RFC822

一般的格式化设计是通过对于一个标准时间的格式化描述来展现的,这听起来很奇怪,但看下面这个例子你就会一目了然:

fmt.Println(t.Format("02 Jan 2006 15:04"))

输出:

21 Jul 2011 10:31

其它有关时间操作的文档请参阅 官方文档译者注:国内用户可访问 该页面 )。

示例 4.20 time.go

package mainimport ( "fmt"

 "time")var week time.Durationfunc main() {

 t := time.Now()

 fmt.Println(t) // e.g. Wed Dec 21 09:52:14 +0100 RST 2011

 fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) // 21.12.2011

 t = time.Now().UTC()

 fmt.Println(t) // Wed Dec 21 08:52:14 +0000 UTC 2011

 fmt.Println(time.Now()) // Wed Dec 21 09:52:14 +0100 RST 2011

 // calculating times:

 week = 60 * 60 * 24 * 7 * 1e9 // must be in nanosec

 week_from_now := t.Add(week)

 fmt.Println(week_from_now) // Wed Dec 28 08:52:14 +0000 UTC 2011

 // formatting times:

 fmt.Println(t.Format(time.RFC822)) // 21 Dec 11 0852 UTC

 fmt.Println(t.Format(time.ANSIC)) // Wed Dec 21 08:56:34 2011

 fmt.Println(t.Format("02 Jan 2006 15:04")) // 21 Dec 2011 08:52

 s := t.Format("20060102")

 fmt.Println(t, "=>", s) // Wed Dec 21 08:52:14 +0000 UTC 2011 => 20111221}



作者:freelang
链接:https://www.jianshu.com/p/b736e2ee33e5


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP