]> Cypherpunks repositories - gostls13.git/commitdiff
time: genzabbrs.go skips Feb when checking months
authorKenny Grant <kennygrant@gmail.com>
Sat, 21 May 2016 16:19:22 +0000 (17:19 +0100)
committerIan Lance Taylor <iant@golang.org>
Thu, 9 Jun 2016 15:31:08 +0000 (15:31 +0000)
getAbbrs looks like it is checking each month looking for a change
in the time zone abbreviation, but starts in Dec of the previous year
and skips the month of February because of the overflow rules for
AddDate. Changing the day to 1 starts at Jan 1 and tries all months
in the current year. This isn't very important or likely to change
output as zones usually span several months. Discovered when
looking into time.AddDate behavior when adding months.

Change-Id: I685254c8d21c402ba82cc4176e9a86b64ce8f7f7
Reviewed-on: https://go-review.googlesource.com/23322
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/time/genzabbrs.go

index 9eb0728a42eed2bcb2db2f29d7c210b72112cc7c..6281f73ce4a2310f1bab93e6b74dbd3a7533f6c1 100644 (file)
@@ -30,7 +30,7 @@ var filename = flag.String("output", "zoneinfo_abbrs_windows.go", "output file n
 // getAbbrs finds timezone abbreviations (standard and daylight saving time)
 // for location l.
 func getAbbrs(l *time.Location) (st, dt string) {
-       t := time.Date(time.Now().Year(), 0, 0, 0, 0, 0, 0, l)
+       t := time.Date(time.Now().Year(), 0, 1, 0, 0, 0, 0, l)
        abbr1, off1 := t.Zone()
        for i := 0; i < 12; i++ {
                t = t.AddDate(0, 1, 0)