mirror of https://github.com/golang/go.git
time: Fix missing colon when formatting time zone offsets with seconds
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
This commit is contained in:
parent
f69f45c538
commit
298c623e8c
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue