// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build js && wasm package time import ( "internal/itoa" "syscall/js" ) var platformZoneSources = []string{ "/usr/share/zoneinfo/", "/usr/share/lib/zoneinfo/", "/usr/lib/locale/TZ/", } func initLocal() { localLoc.name = "Local" z := zone{} d := js.Global().Get("Date").New() offset := d.Call("getTimezoneOffset").Int() * -1 z.offset = offset * 60 // According to https://tc39.github.io/ecma262/#sec-timezoneestring, // the timezone name from (new Date()).toTimeString() is an implementation-dependent // result, and in Google Chrome, it gives the fully expanded name rather than // the abbreviation. // Hence, we construct the name from the offset. z.name = "UTC" if offset < 0 { z.name += "-" offset *= -1 } else { z.name += "+" } z.name += itoa.Itoa(offset / 60) min := offset % 60 if min != 0 { z.name += ":" + itoa.Itoa(min) } localLoc.zone = []zone{z} }