1
0
mirror of https://github.com/golang/go synced 2024-11-17 21:04:43 -07:00

time: fixed handling of "5" in Format's layout string

Fixes #12440

Change-Id: Iead77fe34d986cfd5c16bac671fe13c8d012a754
Reviewed-on: https://go-review.googlesource.com/14178
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
Marvin Stenger 2015-09-03 00:39:53 +02:00 committed by Rob Pike
parent 1fbff65133
commit c12e38aa04
2 changed files with 11 additions and 1 deletions

View File

@ -518,7 +518,7 @@ func (t Time) AppendFormat(b []byte, layout string) []byte {
case stdZeroMinute:
b = appendInt(b, min, 2)
case stdSecond:
b = appendInt(b, sec, 2)
b = appendInt(b, sec, 0)
case stdZeroSecond:
b = appendInt(b, sec, 2)
case stdPM:

View File

@ -74,6 +74,16 @@ func TestFormat(t *testing.T) {
}
}
// issue 12440.
func TestFormatSingleDigits(t *testing.T) {
time := Date(2001, 2, 3, 4, 5, 6, 700000000, UTC)
test := FormatTest{"single digit format", "3:4:5", "4:5:6"}
result := time.Format(test.format)
if result != test.result {
t.Errorf("%s expected %q got %q", test.name, test.result, result)
}
}
func TestFormatShortYear(t *testing.T) {
years := []int{
-100001, -100000, -99999,