Skip to content

Commit 99f2563

Browse files
authored
Merge pull request #772 from devlights/add-time-format-millisec-example
2 parents cc188a2 + b46c4c9 commit 99f2563

File tree

3 files changed

+77
-22
lines changed

3 files changed

+77
-22
lines changed

examples/basic/times/README.md

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,26 @@
22

33
このディレクトリには以下のサンプルがあります。
44

5-
| file | example name | note |
6-
|----------------------------|--------------------------|-------------------------------------------------------|
7-
| time\_since.go | time\_since | time.Since() のサンプルです. |
8-
| time\_after.go | time\_after | time.After() のサンプルです. |
9-
| time\_unix\_to\_time.go | time\_unix\_to\_time | time.Unix(sec, nsec) のサンプルです. |
10-
| time\_now.go | time\_now | time.Now() のサンプルです. |
11-
| time\_parse.go | time\_parse | time.Parse() のサンプルです. |
12-
| time\_tick\_and\_ticker.go | time\_tick\_and\_ticker | time.Tick と time.NewTicker の利用シーンの違いについてのサンプルです |
13-
| time\_timer.go | time\_timer | time.NewTimer のサンプルです |
14-
| time\_afterfunc.go | time\_afterfunc | time.AfterFunc のサンプルです |
15-
| change\_local\_timezone.go | time_changelocaltimezone | time.Localを変更して強制的にローカルタイムゾーンを一時的に変更するサンプルです |
16-
| time\_json.go | time\_json | time.Time を json 形式で扱う場合のサンプルです |
17-
| time\_json\_custom.go | time\_json\_custom | time.Time をカスタム JSON エンコード・デコードで利用するサンプルです |
18-
| time\_in.go | time\_in | time.In() の使い方のサンプルです |
19-
| time\_truncate.go | time\_truncate | time.Truncate() のサンプルです。n分置き や n時間置き の時間を表現することができます。 |
20-
| time\_truncate\_hours.go | time\_truncate\_hours | time.Timeから時刻部分を除去するサンプルです. |
21-
| time\_change\_timezone.go | time\_change\_timezone | time.Timeをいろいろなタイム・ゾーンの値に変換するサンプルです |
22-
| time\_format\_datetime.go | time\_format\_datetime | Go1.20で追加された time.DateTime フォーマット書式についてのサンプルです |
23-
| time\_format\_dateonly.go | time\_format\_dateonly | Go1.20で追加された time.DateOnly フォーマット書式についてのサンプルです |
24-
| time\_format\_timeonly.go | time\_format\_timeonly | Go1.20で追加された time.TimeOnly フォーマット書式についてのサンプルです |
25-
| time\_calc\_nextmonth.go | time\_calc\_nextmonth | 翌月の日付を求めるサンプルです |
26-
| time\_daysinmonth.go | time\_daysinmonth | 月の日数を求めるサンプルです |
5+
| file | example name | note |
6+
| -------------------------- | ------------------------ | ------------------------------------------------------------------------------------- |
7+
| time_since.go | time_since | time.Since() のサンプルです. |
8+
| time_after.go | time_after | time.After() のサンプルです. |
9+
| time_unix_to_time.go | time_unix_to_time | time.Unix(sec, nsec) のサンプルです. |
10+
| time_now.go | time_now | time.Now() のサンプルです. |
11+
| time_parse.go | time_parse | time.Parse() のサンプルです. |
12+
| time_tick_and_ticker.go | time_tick_and_ticker | time.Tick と time.NewTicker の利用シーンの違いについてのサンプルです |
13+
| time_timer.go | time_timer | time.NewTimer のサンプルです |
14+
| time_afterfunc.go | time_afterfunc | time.AfterFunc のサンプルです |
15+
| change_local_timezone.go | time_changelocaltimezone | time.Localを変更して強制的にローカルタイムゾーンを一時的に変更するサンプルです |
16+
| time_json.go | time_json | time.Time を json 形式で扱う場合のサンプルです |
17+
| time_json_custom.go | time_json_custom | time.Time をカスタム JSON エンコード・デコードで利用するサンプルです |
18+
| time_in.go | time_in | time.In() の使い方のサンプルです |
19+
| time_truncate.go | time_truncate | time.Truncate() のサンプルです。n分置き や n時間置き の時間を表現することができます。 |
20+
| time_truncate_hours.go | time_truncate_hours | time.Timeから時刻部分を除去するサンプルです. |
21+
| time_change_timezone.go | time_change_timezone | time.Timeをいろいろなタイム・ゾーンの値に変換するサンプルです |
22+
| time_format_datetime.go | time_format_datetime | Go1.20で追加された time.DateTime フォーマット書式についてのサンプルです |
23+
| time_format_dateonly.go | time_format_dateonly | Go1.20で追加された time.DateOnly フォーマット書式についてのサンプルです |
24+
| time_format_timeonly.go | time_format_timeonly | Go1.20で追加された time.TimeOnly フォーマット書式についてのサンプルです |
25+
| time_format_millisecond.go | time_format_millisecond | time.Format() にてミリ秒を出力するサンプルです。 |
26+
| time_calc_nextmonth.go | time_calc_nextmonth | 翌月の日付を求めるサンプルです |
27+
| time_daysinmonth.go | time_daysinmonth | 月の日数を求めるサンプルです |

examples/basic/times/examples.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func (r *register) Regist(m mapping.ExampleMapping) {
3232
m["time_format_datetime"] = FormatDateTime
3333
m["time_format_dateonly"] = FormatDateOnly
3434
m["time_format_timeonly"] = FormatTimeOnly
35+
m["time_format_millisecond"] = FormatMillisecond
3536
m["time_calc_nextmonth"] = CalcNextMonth
3637
m["time_daysinmonth"] = DaysInMonth
3738
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package times
2+
3+
import (
4+
"time"
5+
6+
"github.com/devlights/gomy/output"
7+
)
8+
9+
// FormatMillisecond は、time.Format() にてミリ秒を出力するサンプルです。
10+
//
11+
// ミリ秒をフォーマットするには ".000" とする。
12+
// ドットを付けないとフォーマットされないので注意。
13+
//
14+
// # REFERENCES
15+
// - https://pkg.go.dev/time@go1.22.1#Time.Format
16+
func FormatMillisecond() error {
17+
var (
18+
millisec = func() string { return time.Now().Format("05.000") }
19+
wait100ms = func() { time.Sleep(100 * time.Millisecond) }
20+
)
21+
22+
output.Stdoutl("[1]", millisec())
23+
wait100ms()
24+
output.Stdoutl("[2]", millisec())
25+
wait100ms()
26+
output.Stdoutl("[3]", millisec())
27+
28+
for range 5 {
29+
wait100ms()
30+
}
31+
32+
output.Stdoutl("[4]", millisec())
33+
34+
return nil
35+
36+
/*
37+
$ task
38+
task: [build] go build .
39+
task: [run] ./try-golang -onetime
40+
41+
ENTER EXAMPLE NAME: time_format_millisecond
42+
43+
[Name] "time_format_millisecond"
44+
[1] 25.065
45+
[2] 25.165
46+
[3] 25.265
47+
[4] 25.766
48+
49+
50+
[Elapsed] 701.858467ms
51+
*/
52+
53+
}

0 commit comments

Comments
 (0)