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

So as in the title, I'm trying to format a date in dd_mm_yy format using time.Now().Format("02_01_2006") as shown in this playground session:

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

First problem, dd_mm_yyyy isn't an acceptable format, only dd_mm_yy is, which is fine I can manipulate the returned string myself.

The problem I have for you is to help me figure out what Go is even trying to do with this input.

You should notice the result you get is:

10_1110009

A good few thousand years off and it's lost the underscore which it only does it for _2. Does this character sequence represent something special here?

Replacing the last underscore with a hyphen or space returns a valid result. dd_mm_yy works fine. Just this particular case seems to completely fly off the handle.

On my local machine (Go playground is on a specific date) the result for today (the 5th) is:

05_01 5016

Which is equally strange, if not moreso as it's substituted in a space which seems to be an ANSIC thing.

This is very likely due to the following bug: https://github.com/golang/go/issues/11334

This has been fixed in Go 1.6beta1

Found an issue from their github:

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

Basically _2 is taking the 2 as the day value from the reference time and then trying to parse the rest (006) which it doesn't recognise so it all goes wrong from there.