为了账号安全,请及时绑定邮箱和手机立即绑定

迄今为止的字符串日期

迄今为止的字符串日期

Go
慕少森 2022-01-17 19:59:29
如何将字符串日期格式转换为日期,我的日期字符串格式为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")以上所有语句都给出了解析错误。
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

请阅读time.Parse的文档:

布局通过显示参考时间如何定义格式,定义为

2006 年 1 月 2 日星期一 15:04:05 -0700 MST

如果它是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。

所以正确的格式是

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


查看完整回答
反对 回复 2022-01-17
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

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


YYYY-MM-DD格式在 RFC-3339 中定义如下(full-date调整顺序):


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包含以下常量:


const (

    ANSIC       = "Mon Jan _2 15:04:05 2006"

    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"

    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"

    RFC822      = "02 Jan 06 15:04 MST"

    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone

    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"

    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"

    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone

    RFC3339     = "2006-01-02T15:04:05Z07:00"

    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"

    Kitchen     = "3:04PM"

    // Handy time stamps.

    Stamp      = "Jan _2 15:04:05"

    StampMilli = "Jan _2 15:04:05.000"

    StampMicro = "Jan _2 15:04:05.000000"

    StampNano  = "Jan _2 15:04:05.000000000"

)


查看完整回答
反对 回复 2022-01-17
  • 2 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信