aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2011-06-30 14:05:29 +1000
committerRob Pike <r@golang.org>2011-06-30 14:05:29 +1000
commitde36d19dfb91e8dbec9fd36447ff46b648381a0e (patch)
tree1ceebb6a365cd64baf2dd36bb57caff25a731b30
parentba8e61d8330db63c99dcc6c731d2a97d25901d44 (diff)
downloadgo-de36d19dfb91e8dbec9fd36447ff46b648381a0e.tar.gz
go-de36d19dfb91e8dbec9fd36447ff46b648381a0e.zip
time: zero-pad two-digit years.
Fixes #2024 R=adg, dsymonds CC=golang-dev https://golang.org/cl/4635083
-rw-r--r--src/pkg/time/format.go2
-rw-r--r--src/pkg/time/time_test.go17
2 files changed, 10 insertions, 9 deletions
diff --git a/src/pkg/time/format.go b/src/pkg/time/format.go
index e0f56129e4..26f40d1419 100644
--- a/src/pkg/time/format.go
+++ b/src/pkg/time/format.go
@@ -248,7 +248,7 @@ func (t *Time) Format(layout string) string {
var p string
switch std {
case stdYear:
- p = strconv.Itoa64(t.Year % 100)
+ p = zeroPad(int(t.Year % 100))
case stdLongYear:
p = strconv.Itoa64(t.Year)
case stdMonth:
diff --git a/src/pkg/time/time_test.go b/src/pkg/time/time_test.go
index eb676bf64a..eec8a7a5ce 100644
--- a/src/pkg/time/time_test.go
+++ b/src/pkg/time/time_test.go
@@ -142,21 +142,22 @@ type FormatTest struct {
}
var formatTests = []FormatTest{
- {"ANSIC", ANSIC, "Thu Feb 4 21:00:57 2010"},
- {"UnixDate", UnixDate, "Thu Feb 4 21:00:57 PST 2010"},
- {"RubyDate", RubyDate, "Thu Feb 04 21:00:57 -0800 2010"},
- {"RFC822", RFC822, "04 Feb 10 2100 PST"},
- {"RFC850", RFC850, "Thursday, 04-Feb-10 21:00:57 PST"},
- {"RFC1123", RFC1123, "Thu, 04 Feb 2010 21:00:57 PST"},
- {"RFC3339", RFC3339, "2010-02-04T21:00:57-08:00"},
+ {"ANSIC", ANSIC, "Wed Feb 4 21:00:57 2009"},
+ {"UnixDate", UnixDate, "Wed Feb 4 21:00:57 PST 2009"},
+ {"RubyDate", RubyDate, "Wed Feb 04 21:00:57 -0800 2009"},
+ {"RFC822", RFC822, "04 Feb 09 2100 PST"},
+ {"RFC850", RFC850, "Wednesday, 04-Feb-09 21:00:57 PST"},
+ {"RFC1123", RFC1123, "Wed, 04 Feb 2009 21:00:57 PST"},
+ {"RFC3339", RFC3339, "2009-02-04T21:00:57-08:00"},
{"Kitchen", Kitchen, "9:00PM"},
{"am/pm", "3pm", "9pm"},
{"AM/PM", "3PM", "9PM"},
+ {"two-digit year", "06 01 02", "09 02 04"},
}
func TestFormat(t *testing.T) {
// The numeric time represents Thu Feb 4 21:00:57 PST 2010
- time := SecondsToLocalTime(1265346057)
+ time := SecondsToLocalTime(1233810057)
for _, test := range formatTests {
result := time.Format(test.format)
if result != test.result {