Skip to content

Commit 3347f9b

Browse files
authored
Merge pull request #648 from devlights:add-timezone-example
Add time_change_timezone.go
2 parents 4781069 + ff5f9a9 commit 3347f9b

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

examples/basic/times/examples.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,5 @@ func (r *register) Regist(m mapping.ExampleMapping) {
2828
m["time_json"] = TimeJson
2929
m["time_json_custom"] = TimeJsonCustom
3030
m["time_in"] = TimeIn
31+
m["time_change_timezone"] = ChangeTimeZone
3132
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package times
2+
3+
import (
4+
"time"
5+
6+
"github.com/devlights/gomy/output"
7+
)
8+
9+
// ChangeTimeZone は、time.Timeをいろいろなタイム・ゾーンの値に変換するサンプルです.
10+
func ChangeTimeZone() error {
11+
// JSTの現在時刻を取得
12+
locJst, err := time.LoadLocation("Asia/Tokyo")
13+
if err != nil {
14+
return err
15+
}
16+
17+
jst := time.Now().In(locJst)
18+
output.Stdoutf("[JST]", "%v\n", jst)
19+
20+
// UTCへ変換
21+
utc := jst.UTC()
22+
output.Stdoutf("[UTC]", "%v\n", utc)
23+
24+
// UTCからPDTに変換
25+
// (*) 夏時間(太平洋夏時間, Daylight Saving Time, DST)が適用されている場合でも
26+
// このコードで自動的にDSTが考慮される
27+
locPdt, err := time.LoadLocation("America/Los_Angeles")
28+
if err != nil {
29+
return err
30+
}
31+
32+
pdt := utc.In(locPdt)
33+
output.Stdoutf("[PDT]", "%v\n", pdt)
34+
35+
return nil
36+
}

0 commit comments

Comments
 (0)