Skip to content

Commit

Permalink
time: Fix missing colon when formatting time zone offsets with seconds
Browse files Browse the repository at this point in the history
When formatting time zone offsets with seconds using the stdISO8601Colon
and stdNumColon layouts, the colon was missing between the hour and minute
parts.

Fixes #8497.

LGTM=r
R=golang-codereviews, iant, gobot, r
CC=golang-codereviews
https://golang.org/cl/126840043
  • Loading branch information
jstemmer authored and robpike committed Aug 8, 2014
1 parent f69f45c commit 298c623
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/pkg/time/format.go
Expand Up @@ -556,7 +556,7 @@ func (t Time) Format(layout string) string {
b = append(b, '+')
}
b = appendUint(b, uint(zone/60), '0')
if std == stdISO8601ColonTZ || std == stdNumColonTZ {
if std == stdISO8601ColonTZ || std == stdNumColonTZ || std == stdISO8601ColonSecondsTZ || std == stdNumColonSecondsTZ {
b = append(b, ':')
}
b = appendUint(b, uint(zone%60), '0')
Expand Down
11 changes: 6 additions & 5 deletions src/pkg/time/format_test.go
Expand Up @@ -502,10 +502,11 @@ func TestParseSecondsInTimeZone(t *testing.T) {
}

func TestFormatSecondsInTimeZone(t *testing.T) {
d := Date(1871, 9, 17, 20, 4, 26, 0, FixedZone("LMT", -(34*60+8)))
timestr := d.Format("2006-01-02T15:04:05Z070000")
expected := "1871-09-17T20:04:26-003408"
if timestr != expected {
t.Errorf("Got %s, want %s", timestr, expected)
for _, test := range secondsTimeZoneOffsetTests {
d := Date(1871, 1, 1, 5, 33, 2, 0, FixedZone("LMT", test.expectedoffset))
timestr := d.Format(test.format)
if timestr != test.value {
t.Errorf("Format = %s, want %s", timestr, test.value)
}
}
}

0 comments on commit 298c623

Please sign in to comment.