time包 — 汇总
time包学习
package main; import ( "time" "fmt" ) func main() { //time.Time代表一个纳秒精度的时间点 var t time.Time; //返回当前时间 t = time.Now(); fmt.Printf("%v\n", t); //反回所在时区 fmt.Printf("%v\n", t.Location()); //返回UTC时间和UTC时区 fmt.Printf("%v %v\n", t.UTC(), t.UTC().Location()); //同上,In()返回指定时区的时间 fmt.Printf("%v %v\n", t.In(time.UTC), t.In(time.UTC).Location()); //返回当地时区的时间 fmt.Printf("%v %v\n", t.Local(), t.Local().Location()); //根据时间戳返回本地时间 //参数分别表示秒数和纳秒数 t2 := time.Unix(1487780010, 0); fmt.Println(t2); //根据指定时间返回time.Time //分别指定年,月,日,时,分,秒,纳秒,时区 t3 := time.Date(2017, time.Month(5), 26, 15, 30, 20, 0, t.Location()); fmt.Println(t3); //格式化输出时间 t4 := time.Now(); fmt.Println(t4.Format("2006-01-02 15:04:05")); //获取时间信息 t5 := time.Now(); //返回日期 fmt.Println(t5.Date()); //返回年 fmt.Println(t5.Year()); //返回月 fmt.Println(t5.Month()); //返回日 fmt.Println(t5.Day()); //返回星期 fmt.Println(t5.Weekday()); //返回ISO 9601标准下的年份和星期编号 fmt.Println(t5.ISOWeek()); //返回时分秒 fmt.Println(t5.Clock()); //返回小时 fmt.Println(t5.Hour()); //返回分钟 fmt.Println(t5.Minute()); //返回秒 fmt.Println(t5.Second()); //返回纳秒 fmt.Println(t5.Nanosecond()); //返回一年中对应的天 fmt.Println(t5.YearDay()); //返回时区 fmt.Println(t5.Location()); //返回时区的规范名,时区相对于UTC的时间偏移量(秒) fmt.Println(t5.Zone()); //返回时间戳 fmt.Println(t5.Unix()); //返回纳秒时间戳 fmt.Println(t5.UnixNano()); //时间的比较与计算 t6 := time.Now(); //是否零时时间 fmt.Println(t6.IsZero()); //t6时间在t5时间之后,返回真 fmt.Println(t6.After(t5)); //t5时间在t6时间之前,返回真 fmt.Println(t5.Before(t6)); //时间是否相同 fmt.Println(t6.Equal(t6)); //返回t6加上纳秒的时间 fmt.Println(t6.Add(10000)); //返回两个时间之差的纳秒数 fmt.Println(t6.Sub(t5)); //返回t6加1年,1月,1天的时间 fmt.Println(t6.AddDate(1, 1, 1)); //时间的序列化 t7 := time.Now(); //序列化二进制 bin, _ := t7.MarshalBinary(); //反序列化二进制 t7.UnmarshalBinary(bin) fmt.Println(t7); //序列化json json, _ := t7.MarshalJSON(); fmt.Println(string(json)); //反序列化json t7.UnmarshalJSON(json); fmt.Println(t7); //序列化文本 txt, _ := t7.MarshalText(); fmt.Println(string(txt)); //反序列化文本 t7.UnmarshalText(txt); fmt.Println(t7); //gob编码 gob, _ := t7.GobEncode(); t7.GobDecode(gob); fmt.Println(t7); //时间段time.Duration dur := time.Duration(6666666600000); //返回字符串表示 fmt.Println(dur.String()); //返回小时表示 fmt.Println(dur.Hours()); //返回分钟表示 fmt.Println(dur.Minutes()); //返回秒表示 fmt.Println(dur.Seconds()); //返回纳秒表示 fmt.Println(dur.Nanoseconds()); //时区time.Location //返回时区名 fmt.Println(time.Local.String()); //通过地点名和时间偏移量返回时区 fmt.Println(time.FixedZone("Shanghai", 800)); //通过给定时区名称,返回时区 loc, _ := time.LoadLocation("Asia/Shanghai"); fmt.Println(loc); //阻塞当前进程3秒 time.Sleep(time.Second * 3); //定时器time.Timer //创建一个1秒后触发定时器 timer1 := time.NewTimer(time.Second * 1); <-timer1.C; fmt.Println("timer1 end"); //1秒后运行函数 time.AfterFunc(time.Second * 1, func() { fmt.Println("wait 1 second"); }); time.Sleep(time.Second * 3); //打点器time.Ticker //创建一个打点器,在固定1秒内重复执行 ticker := time.NewTicker(time.Second); num := 1; for { if num > 5 { //大于5次关闭打点器 ticker.Stop(); break; } //否则从打点器中获取chan select { case <-ticker.C: num++; fmt.Println("1 second..."); } } }
time包 — 汇总的更多相关文章
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- R语言常用包汇总
转载于:https://blog.csdn.net/sinat_26917383/article/details/50651464?locationNum=2&fps=1 一.一些函数包大汇总 ...
- Python通过Openpyxl包汇总表格,效率提升100倍
最近找了份小兼职,干的全是些无聊的工作,比如说给word调整一下排版啦.把从多方回收来的Excel汇总啦,这些极其催眠又耗时的事,怎么能接受手动去做呢!!(疯了嘛,谁知道以后还有多少类似的表格要汇总啊 ...
- Java第三方工具库/包汇总
一.科学计算或矩阵运算库 科学计算包: JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库.它是Matlab.Octave.FreeMat.Scilab的一个克隆, ...
- springboot打war包汇总
概述 第一次用maven工具打war包,出现各种各样的问题,做个问题记录方便下次查看 maven 一开始用的maven是springboot默认的,在.m2下,要打包时才发现没有mvn指令.索性自己就 ...
- java少包汇总
1.在下载使用javax.mail的jar包时候,注意: 有的jar没有包含sun的实现,只包含了api,这类jar名称通常为javax.mail-api-x.x.x.jar,在使用smtp协议发邮件 ...
- 搭建Spring所需的各类jar包汇总详解
Spring jar包官网下载地址:http://repo.spring.io/release/org/springframework/spring/ Spring jar包的描述:针对3.2.2以上 ...
- sync包 — 汇总
sync包 package main; import ( "time" "fmt" ) func main() { //time.Time代表一个纳秒精度的时间 ...
- path包 + pathfile 包 — 汇总
path包的使用 package main; import ( "fmt" "path" ) //go语言path包的学习 func main() { //返回 ...
随机推荐
- Sliding Window Matrix Maximum
Description Given an array of n * m matrix, and a moving matrix window (size k * k), move the window ...
- LeetCode 721. Accounts Merge
原题链接在这里:https://leetcode.com/problems/accounts-merge/ 题目: Given a list accounts, each element accoun ...
- 汇编语言中 cs, ds,ss 的区别
CS(Code Segment):代码段寄存器:DS(Data Segment):数据段寄存器:SS(Stack Segment):堆栈段寄存器:ES(Extra Segment):附加段寄存器.当一 ...
- Linux运维相关命令
df 查看磁盘空间大小 df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 ...
- 漏斗分析(Funnel Analysis)
什么是漏斗分析? 简单来讲,就是抽象出某个流程,观察流程中每一步的转化与流失. 漏斗的三个要素: 时间:特指漏斗的转化周期,即为完成每一层漏斗所需时间的集合 节点:每一层漏斗,就是一个节点 流量:就是 ...
- sqlalchemy lock and atomic
prepare: MYSQL tutorial Prepare a table set evn DBUSER=root DBPASS= DBNAME=cyborgTBNAME="atomic ...
- 加密hashlib模块
目录 hashlib和hmac模块: hashlib模块: -hash: 特点: 大致流程: 注意: hmac模块: 特点: 注意:hmac模块只接受二进制数据的加密 hashlib和hmac模块: ...
- 2016级移动应用开发在线测试14-MediaPlayer
有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 @醉翁猫咪 1. MediaStore类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提 ...
- struct iphdr
struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8 ihl:, version:; #elif defined (__BIG_ENDIA ...
- GoCN每日新闻(2019-10-26)
GoCN每日新闻(2019-10-26) 1. GateKeeper:滴滴开源的使用Go编写的不依赖分布式数据库的API网关 https://mp.weixin.qq.com/s/gpQSPJ-uRp ...