go中的time包及时间格式化问题
“2006-01-02 15:04:05,这个时间据说是纪念go语言的诞生时间。”今天又听到了这句话,为什么很多人这么说,可能一个人说了被其他人听到,然后一传十十传百的传开了(三人成虎吧)。具体是不是为了纪念,那应该只有设计go语言的肯汤普森和罗勃派克知道了。那为什么是这个格式呢?估计很多人没整明白,特别是初学go,如果没弄明白,就要死记这个时间格式了。那这个时间格式化到底是怎么个意思呢?下面就来探讨下。
请注意这个时间格式:
2006-01-02 15:04:05 或者 2006/01/02 15:04:05
可以用代码试一下这个时间格式化形式
package mainimport ("fmt""time"
)func main(){now := time.Now()fmt.Println(now.Format("2006-01-02 15:04:05"))
}
其结果格式应该是这样的
>>> 2020-06-28 20:30:00
那么,这是固定格式吗?再把时间格式化形式换成 “2006-01-02 03:04:05” ,其结果
>>> 2020-06-28 08:30:42
看出区别了吗?没错第一次输出为24小时制,第二次为12小时制。为什么呢?03[12小时制] + 12小时 = 15[24小时制]
还可以再改吗?我们试试 “2006-1-2 03:04:05” ,结果为
>>> 2020-6-28 08:31:26
再改, “2006-1-2 3:4:5”
>>> 2020-6-28 8:31:26
因为time.Now()执行时当前时间,观察不太方便。再执行如下代码
t :=time.Date(2020, time.April,5, 6, 7, 8, 23, time.Local)
fmt.Println(t.Format("2006-1-2 3:4:5"))
>>> 结果 2020-4-5 6:7:8
由此,可以看出时间格式化规律了,也就是12345嘛,那就只需要记住2006就行了。得出总结:
【注:以下单数表示在10以下数字不补0】
2006 | 年(固定) |
01 | 双数月(如 06) |
1 | 单数月(如 6) |
02 | 双数日(如 03) |
2 | 单数日 (如 3) |
03 | 12小时制 |
15 | 24小时制 |
04 | 双数分 |
4 | 单数分 |
05 | 双数秒 |
5 | 单数秒 |
时间戳和时间的互转
package mainimport (. "fmt""time"
)//time.Now() // 当前时间
//time.Now().Unix() // 当前时间戳
//time.Now().UnixNano() // 当前纳秒时间戳func main() {// 将时间戳转为时间timestamp := time.Now().Unix()resTime := time.Unix(timestamp, 0) // 第一个参数为Unix秒时间,第二个参数为UnixNano纳秒时间Println(resTime)t := resTime.Format("2006-01-02 15:04:05")Println(t)// 将时间转为时间戳timeLocal, _ := time.ParseInLocation("2006-01-02 15:04:05", t, time.Local)Println(timeLocal)Println(timeLocal.Unix())
}
注:time.Parse()中其格式化稍严格。
// Parse时间格式化年月日必须严格对应,双数则格式化双数,单数则格式化单数
// "2020年06月07日"格式化时必须为 "2006年01月02日",且年月日汉字也一样
// 一双一单格式化可为 双单 或 严格对应。"2020年6月07日" 格式化可为"2006年1月2日"
// 时分秒格式化
// "8:9:5" 只能为 "3:4:5"
// "08:09:05" 可以任意格式化
// 时使用0补双数,格式化时必须为03或15,分秒为单数,格式化必须为单数
s := "2020年6月7日 8:9:5"
t2 ,err := time.Parse("2006年1月2日 3:4:5",s)
if err != nil{fmt.Println("err:",err)
}
fmt.Println(t2)
go中的time包及时间格式化问题相关推荐
- oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例
天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...
- 字符串格式化成时间格式_JAVA | 常用的日期/时间格式化方式
引言 我们在开发过程中,在数据库中经常会看到beginTime.updateTime和endTime这些字段,这些可能是为了记录业务操作的某个时间.日期等信息.特此,总结一些在代码中常用的日期.时 ...
- SpringBoot时间格式化的5种方法!
作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spr ...
- SpringBoot 时间格式化的 5 种实现方法,你用的是哪种?
在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目, ...
- SpringBoot 时间格式化
在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 UserController 实现代码如下: @RestCo ...
- java 纳秒 格式化_Java日期时间API系列35-----Jdk8中java.time包中的新的日期时间API类应用,微秒和纳秒等更精确的时间格式化和解析。...
通过Java日期时间API系列1-----Jdk7及以前的日期时间类中得知,Java8以前除了java.sql.Timestamp扩充纳秒,其他类最大只精确到毫秒:Java8 time包所有相关类都支 ...
- java 时间格式化_彻底解决Spring mvc中时间的转换和序列化等问题
痛点 在使用Spring mvc 进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8的新特性java.time包下的具体类型参数来直接接收. 我们使用含有java.time封装类型的 ...
- 6 日期字符串转日期_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...
因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...
- java 包结构 枚举类_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...
因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...
最新文章
- 3维线程格 gpu_图形处理单元(GPU)
- 皮尔逊相关系数 定义+python代码实现 (与王印讨论公式)
- MySQL 删除字段数据某关键字后的所有数据
- 【object-c基础】Object-c基础之三:面对对象开发@interface,@implementation
- ubuntu切换root用户
- Tensorflow高级封装
- HDOJ--1262--寻找素数对
- qwidget设置背景颜色_Python+PyQt编程示例:设置窗口背景色及分割条颜色
- Linux配置jdk环境变量(详细版)
- 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论
- Javase MINA框架
- vue 后台翻译_vue实现在线翻译功能
- poi导出使用HSSFWorkbook行数超出
- 吴伯凡-认知方法论-T字形认知
- 【寒江雪】Go实现单例模式
- Sublime Text 3在行前插入递增数字序号的方法
- 获取windows锁屏壁纸
- 原型模式与深拷贝浅拷贝
- 序列模型第二周作业1:Operations on word vectors
- Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
热门文章
- java预科基础篇2021.2.3学习记录
- 弘辽科技:淘宝的各个级别的店铺有多少自然流量?具体解答
- linux如何修改ip文件夹,求助!Linux下C++程序如何修改系统IP?
- 小米mix Android9,小米mix3的系统是安卓9吗?
- 赔偿100万!数码博主泄密小米MIX4核心参数
- MIUI和Android的关系,小米:MIUI 7和安卓版本没有对应关系
- 校园日记和白领日记如何让支付宝在社交圈火起来?
- 中南民族大学c语言报告,中南民族大学计算机C语言试题10套.doc
- 初赛小知识之网络协议
- 中国联通“出手”了,率先上线携号转网,网友:只能转入不能转出