猿问

在 Go 中将日期格式化为 dd_mm_yyyy 会产生奇怪的值

因此,如标题所示,我正在尝试使用 time.Now().Format("02_01_2006") 以 dd_mm_yy 格式格式化日期,如该操场会话所示:


http://play.golang.org/p/alAj-OcRZt


第一个问题,dd_mm_yyyy 不是可接受的格式,只有 dd_mm_yy 是,这很好,我可以自己操作返回的字符串。


我对你的问题是帮助我弄清楚 Go 甚至试图用这个输入做什么。


你应该注意到你得到的结果是:


10_1110009


好几千年了,它丢失了下划线,它只为_2 做。这个字符序列在这里是否代表了一些特殊的东西?


用连字符或空格替换最后一个下划线会返回有效结果。dd_mm_yy 工作正常。只是这个特殊情况似乎完全脱离了手柄。


在我的本地机器上(Go playground 在特定日期),今天(第 5 天)的结果是:


05_01 5016


这同样很奇怪,因为它被替换在一个似乎是 ANSIC 的空间中。


胡说叔叔
浏览 158回答 2
2回答

潇潇雨雨

这很可能是由于以下错误:https : //github.com/golang/go/issues/11334这已在 Go 1.6beta1 中修复

米脂

从他们的 github 中发现了一个问题:https://github.com/golang/go/issues/11334基本上 _2 将 2 作为参考时间的日期值,然后尝试解析它无法识别的其余部分 (006),因此从那里一切都出错了。
随时随地看视频慕课网APP

相关分类

Go
我要回答