“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包及时间格式化问题相关推荐

  1. oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例

    天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...

  2. 字符串格式化成时间格式_JAVA | 常用的日期/时间格式化方式

    引言   我们在开发过程中,在数据库中经常会看到beginTime.updateTime和endTime这些字段,这些可能是为了记录业务操作的某个时间.日期等信息.特此,总结一些在代码中常用的日期.时 ...

  3. SpringBoot时间格式化的5种方法!

    作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spr ...

  4. SpringBoot 时间格式化的 5 种实现方法,你用的是哪种?

    在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目, ...

  5. SpringBoot 时间格式化

    在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法. 时间问题演示 UserController 实现代码如下: @RestCo ...

  6. java 纳秒 格式化_Java日期时间API系列35-----Jdk8中java.time包中的新的日期时间API类应用,微秒和纳秒等更精确的时间格式化和解析。...

    通过Java日期时间API系列1-----Jdk7及以前的日期时间类中得知,Java8以前除了java.sql.Timestamp扩充纳秒,其他类最大只精确到毫秒:Java8 time包所有相关类都支 ...

  7. java 时间格式化_彻底解决Spring mvc中时间的转换和序列化等问题

    痛点 在使用Spring mvc 进行开发时我们经常遇到前端传来的某种格式的时间字符串无法用java8的新特性java.time包下的具体类型参数来直接接收. 我们使用含有java.time封装类型的 ...

  8. 6 日期字符串转日期_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  9. java 包结构 枚举类_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

最新文章

  1. 3维线程格 gpu_图形处理单元(GPU)
  2. 皮尔逊相关系数 定义+python代码实现 (与王印讨论公式)
  3. MySQL 删除字段数据某关键字后的所有数据
  4. 【object-c基础】Object-c基础之三:面对对象开发@interface,@implementation
  5. ubuntu切换root用户
  6. Tensorflow高级封装
  7. HDOJ--1262--寻找素数对
  8. qwidget设置背景颜色_Python+PyQt编程示例:设置窗口背景色及分割条颜色
  9. Linux配置jdk环境变量(详细版)
  10. 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上:游戏引擎导论
  11. Javase MINA框架
  12. vue 后台翻译_vue实现在线翻译功能
  13. poi导出使用HSSFWorkbook行数超出
  14. 吴伯凡-认知方法论-T字形认知
  15. 【寒江雪】Go实现单例模式
  16. Sublime Text 3在行前插入递增数字序号的方法
  17. 获取windows锁屏壁纸
  18. 原型模式与深拷贝浅拷贝
  19. 序列模型第二周作业1:Operations on word vectors
  20. Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

热门文章

  1. java预科基础篇2021.2.3学习记录
  2. 弘辽科技:淘宝的各个级别的店铺有多少自然流量?具体解答
  3. linux如何修改ip文件夹,求助!Linux下C++程序如何修改系统IP?
  4. 小米mix Android9,小米mix3的系统是安卓9吗?
  5. 赔偿100万!数码博主泄密小米MIX4核心参数
  6. MIUI和Android的关系,小米:MIUI 7和安卓版本没有对应关系
  7. 校园日记和白领日记如何让支付宝在社交圈火起来?
  8. 中南民族大学c语言报告,中南民族大学计算机C语言试题10套.doc
  9. 初赛小知识之网络协议
  10. 中国联通“出手”了,率先上线携号转网,网友:只能转入不能转出