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

时间:2016-01-05 16:06:15

标签: date go

因此,在标题中,我尝试使用time.Now()。格式化(" 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操场在特定日期)今天(第5天)的结果是:

05_01 5016

同样奇怪,如果不是更多,因为它在一个似乎是ANSIC的空间中被替换。

2 个答案:

答案 0 :(得分:5)

这很可能是由于以下错误:https://github.com/golang/go/issues/11334

这已在Go 1.6beta1中修复

答案 1 :(得分:0)

从他们的github发现了一个问题:

https://github.com/golang/go/issues/11334

基本上_2将2作为参考时间的日期值,然后尝试解析剩余的(006),它不会识别,因此从那里出错。