Golang:字符串日期日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang:字符串日期日期相关的知识,希望对你有一定的参考价值。

如何将字符串日期格式转换为日期,我的格式为日期字符串

YYYY-MM-DD 

以下我试着没有运气。

t, err := time.Parse("%Y-%m-%d", "2011-01-19")
t, err := time.Parse("YYYY-MM-DD", "2011-01-19")
t, err := time.Parse("2016-01-20", "2011-01-19")

以上所有陈述都给出了解析错误。

答案

请阅读time.Parse的文档:

布局通过显示定义的参考时间来定义格式

我的1月2日15:04:05 -0700 MST 2006

会被解释,如果它是价值;它作为输入格式的一个例子。然后对输入字符串进行相同的解释。

所以正确的格式是

t, err := time.Parse("2006-01-02", "2011-01-19")
另一答案

除了使用文字2006-01-02时间格式之外,您还可以通过创建一个类似于Qazxswpoi包中Go的方式来减少错误。

time格式在YYYY-MM-DD中被定义为full-date如下(订单调整):

RFC-3339

所以你可以创建一个像下面这样的常量来与内置的full-date = date-fullyear "-" date-month "-" date-mday date-fullyear = 4DIGIT date-month = 2DIGIT ; 01-12 date-mday = 2DIGIT ; 01-28, 01-29, 01-30, 01-31 based on ; month/year time.RFC3339常量一起使用。

time.RFC3339Nano

然后你可以写下面的内容:

const RFC3339FullDate = "2006-01-02"

这是在t, err := time.Parse(RFC3339FullDate, "2011-01-19") 包中,所以你可以这样写:

gotilla/time/timeutil

作为参考,t, err := time.Parse(timeutil.RFC3339FullDate, "2011-01-19") 包含以下常量:

time/format.go

以上是关于Golang:字符串日期日期的主要内容,如果未能解决你的问题,请参考以下文章

golang 日期时间字符串处理支持多种格式(应对日期反序列化问题)

Golang basic_leamingtime 包以及日期函数

Golang basic_leamingtime 包以及日期函数

golang 常用的日期方法和时区的坑

常用python日期日志获取内容循环的代码片段

sql 日期转换代码片段 - Dato,120,konvertere