time/zoneinfo_abbrs_windows.go has not been updated since go1.14 (in CL 201378).

A few things changed since then, we should generate it again before releasing go 1.21. We could also do it for go 1.20, but I suppose it is too late.

@alexbrainman @golang/windows

Comment From: bcmills

We could also do it for go 1.20, but I suppose it is too late.

If it is important, you can always request a backport. (A backport to add entries to a data table seems pretty low-risk. 🤷‍♂️)

Comment From: gopherbot

Change https://go.dev/cl/463838 mentions this issue: time: update windows zoneinfo_abbrs

Comment From: qmuntal

We could also do it for go 1.20, but I suppose it is too late.

If it is important, you can always request a backport. (A backport to add entries to a data table seems pretty low-risk. 🤷‍♂️)

I haven't had any issue with time zones myself, but probably someone in the wild had. Worth backporting if it's doable. How to file the request?

Comment From: ianlancetaylor

@gopherbot Please open backport issues

The zoneinfo_abbrs data on Windows has not been updated for several years. We should update and backport if appropriate.

Comment From: gopherbot

Backport issue(s) opened: #58117 (for 1.18), #58118 (for 1.19).

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases.

Comment From: alexbrainman

@qmuntal thank you for opening this issue.

SGTM to update time/zoneinfo_abbrs_windows.go file.

Alex

Comment From: heschi

cc @golang/release

I think it's too late for the first 1.20 release. I don't know exactly what this does, but it certainly doesn't seem to be just adding things, so I'd be leery of putting it in at the last possible moment. If we haven't done this in years, I presume we can wait a little longer.

Can someone explain a little more why this is important enough to backport? What is the concrete effect on users?

Comment From: qmuntal

Can someone explain a little more why this is important enough to backport? What is the concrete effect on users?

The abbrs map inside zoneinfo_abbrs.go is used when formatting the abbreviated local time zone retrieved from the operating system. The problem it solves is that you can't get from Windows the system time zones as a standard IANA Time Zone name, it gives instead the time zone using it's particular naming convention. The map inside zoneinfo_abbrs.go relates the Windows time zone name with an IANA name or a particular offset.

If that map is not up to date, the user could see its time zone with an outdated offset or wrong name when using MST in the time format layout.

For example, with the following code snippet executed on August, someone in the Fiji Standard Time time zone will see the following output Mon Aug 28 19:23:36 +13 2023, but that time zone dropped DST last year, so the correct result would be Mon Aug 28 19:23:36 +12 2023.

package main

import "time"

func main() {
  println(time.Now().Format(time.UnixDate)) // layout: "Mon Jan _2 15:04:05 MST 2006"
}

I agree that it is too late for putting this on go1.20, considering that it is released in two days. On the other hand, I think it would be a good backport candidate for go1.19.6 and go1.20.1.

Comment From: gopherbot

Change https://go.dev/cl/483716 mentions this issue: time: update windows zoneinfo_abbrs

Comment From: gopherbot

Change https://go.dev/cl/493477 mentions this issue: time: update windows zoneinfo_abbrs

Comment From: gopherbot

Change https://go.dev/cl/626756 mentions this issue: time: regenerate zoneinfo_abbrs_windows.go