diff options
author | cuiweixie <cuiweixie@gmail.com> | 2022-04-26 23:55:11 +0000 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2022-04-27 00:11:22 +0000 |
commit | 24b570354caee33d4fb3934ce7ef1cc97fb403fd (patch) | |
tree | 38f5b36ca7fb2e020c0869e7976ac693af3a8643 | |
parent | 68b655f2b91c4407ccd781271039857e0d332989 (diff) | |
download | go-24b570354caee33d4fb3934ce7ef1cc97fb403fd.tar.gz go-24b570354caee33d4fb3934ce7ef1cc97fb403fd.zip |
time: document hhmmss formats
Fixes #52516
Change-Id: I173fdb09c245563e09be4e1aacfd374c3a764d74
GitHub-Last-Rev: 14a81e50616e0f268fee9323d0621de861885475
GitHub-Pull-Request: golang/go#52538
Reviewed-on: https://go-review.googlesource.com/c/go/+/402058
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
-rw-r--r-- | src/time/example_test.go | 11 | ||||
-rw-r--r-- | src/time/format.go | 16 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/time/example_test.go b/src/time/example_test.go index ec2259b1ba..059c6310a6 100644 --- a/src/time/example_test.go +++ b/src/time/example_test.go @@ -212,6 +212,11 @@ func ExampleTime_Format() { panic(err) } + tz, err := time.LoadLocation("Asia/Shanghai") + if err != nil { // Always check errors even if they should not happen. + panic(err) + } + // time.Time's Stringer method is useful without any format. fmt.Println("default format:", t) @@ -221,6 +226,10 @@ func ExampleTime_Format() { // The time zone attached to the time value affects its output. fmt.Println("Same, in UTC:", t.UTC().Format(time.UnixDate)) + fmt.Println("in Shanghai with seconds:", t.In(tz).Format("2006-01-02T15:04:05 -070000")) + + fmt.Println("in Shanghai with colon seconds:", t.In(tz).Format("2006-01-02T15:04:05 -07:00:00")) + // The rest of this function demonstrates the properties of the // layout string used in the format. @@ -286,6 +295,8 @@ func ExampleTime_Format() { // default format: 2015-02-25 11:06:39 -0800 PST // Unix format: Wed Feb 25 11:06:39 PST 2015 // Same, in UTC: Wed Feb 25 19:06:39 UTC 2015 + //in Shanghai with seconds: 2015-02-26T03:06:39 +080000 + //in Shanghai with colon seconds: 2015-02-26T03:06:39 +08:00:00 // // Formats: // diff --git a/src/time/format.go b/src/time/format.go index 2f66df668b..5f696189ff 100644 --- a/src/time/format.go +++ b/src/time/format.go @@ -64,17 +64,21 @@ import "errors" // // Numeric time zone offsets format as follows: // -// "-0700" ±hhmm -// "-07:00" ±hh:mm -// "-07" ±hh +// "-0700" ±hhmm +// "-07:00" ±hh:mm +// "-07" ±hh +// "-070000" ±hhmmss +// "-07:00:00" ±hh:mm:ss // // Replacing the sign in the format with a Z triggers // the ISO 8601 behavior of printing Z instead of an // offset for the UTC zone. Thus: // -// "Z0700" Z or ±hhmm -// "Z07:00" Z or ±hh:mm -// "Z07" Z or ±hh +// "Z0700" Z or ±hhmm +// "Z07:00" Z or ±hh:mm +// "Z07" Z or ±hh +// "Z070000" Z or ±hhmmss +// "Z07:00:00" Z or ±hh:mm:ss // // Within the format string, the underscores in "_2" and "__2" represent spaces // that may be replaced by digits if the following number has multiple digits, |