网站首页 > 技术文章 正文
时间
Go提供了对时间值和时间段的广泛支持;下面是一些示例。
Now可以获取当前时间结构。Date也可以通过提供年、月、日等来构建时间结构。时间始终与地点关联,例如所在的时区。可以按预期提取时间值的各个组成部分。可以测试时间的前后或是否相等。
Sub方法返回两个时间的时间差。可以计算各种单位(时,分、秒等)的时间差长度。可以使用Add增加或减少时间差。
结果:
$ go run time.go
2012-10-31 15:50:13.793654 +0000 UTC
2009-11-17 20:34:58.651387237 +0000 UTC
2009
November
17
20
34
58
651387237
UTC
Tuesday
true
false
false
25891h15m15.142266763s
25891.25420618521
1.5534752523711128e+06
9.320851514226677e+07
93208515142266763
2012-10-31 15:50:13.793654 +0000 UTC
2006-12-05 01:19:43.509120474 +0000 UTC
Epoch 纪元
程序中的一个常见要求是获取Unix纪元以来的秒数、毫秒数或纳秒数。在Go中执行实现这些操作的方法是使用time包中的函数。
使用Unix或UnixNano分别获取Unix纪元以来的运行时间数值(秒或纳秒)。请注意,不存在UnixMillis,因此,要获得纪元以来的毫秒数,您需要手动从纳秒数中除出来。您还可以将纪元中的整数秒或纳秒数转换为相应的可读的时间字符串格式。
结果:
$ go run epoch.go
2012-10-31 16:13:58.292387 +0000 UTC
1351700038
1351700038292
1351700038292387000
2012-10-31 16:13:58 +0000 UTC
2012-10-31 16:13:58.292387 +0000 UTC
Time Formatting / Parsing 时间格式化/分析
Go支持对时间Format格式化以及对时间字符串基于模式的布局分析time.Parse。下面是使用RFC3339对应的时间布局模式常量来对时间数值进行格式化的基本示例。以及使用相同的布局常量来对时间字符串进行分析的示例。通常通常情况下,使用time包中的布局常量,但也可以提供自定义布局模式。
如下所示,使用布局模式Mon Jan 2 15:04:05 MST 2006来作为格式化时间数或分析时间字符串的参考。
还可以对时间值的组件使用标准的字符串格式,生成时间字符串。
Parse对不合法的时间格式的输入返回错误,解释了分析时出现的问题。
结果:
$ go run time-formatting-parsing.go
2014-04-15T18:00:15-07:00
2012-11-01 22:08:41 +0000 +0000
6:00PM
Tue Apr 15 18:00:15 2014
2014-04-15T18:00:15.161182-07:00
0000-01-01 20:41:00 +0000 UTC
2014-04-15T18:00:15-00:00
parsing time "8:41PM" as "Mon Jan _2 15:04:05 2006": ...
猜你喜欢
- 2024-10-29 你还在用 Date?快使用 LocalDateTime 了!
- 2024-10-29 Java修炼终极指南:79,80,81 签到终极修炼天赋
- 2024-10-29 硬核!最全的延迟任务实现方式汇总!附代码(强烈推荐)
- 2024-10-29 还在实体类中用Date?JDK8新的日期类型不香么?
- 2024-10-29 LocalDateTime 说:2020,是时候换个更好的日期时间类了
- 2024-10-29 程序员,你还在使用Date嘛?建议你使用LocalDateTime哦
- 2024-10-29 深度思考:在JDK8中,日期类型该如何使用?
- 2024-10-29 为什么建议使用你 LocalDateTime,而不是 Date?
- 2024-10-29 百度开源的分布式唯一ID生成器UidGenerator,解决了时钟回拨问题
- 2024-10-29 DeepLearning4j 实战:手写体数字识别的 GPU 实现与性能对比
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)