完全に自分向けの備忘録。
time.Duration
で表される秒数を日本語に変換したかったので、下記のような関数を作って対応した。
package main import ( "fmt" "strings" "time" ) func jaDuration(t time.Duration) string { var jaStr string jaStr = strings.Replace(t.String(), "ns", "ナノ秒", 1) jaStr = strings.Replace(jaStr, "µs", "マイクロ秒", 1) jaStr = strings.Replace(jaStr, "ms", "ミリ秒", 1) jaStr = strings.Replace(jaStr, "s", "秒", 1) jaStr = strings.Replace(jaStr, "m", "分", 1) return strings.Replace(jaStr, "h", "時間", 1) } func main() { t1 := time.Duration(1 * time.Nanosecond) fmt.Println(t1) fmt.Println(jaDuration(t1)) t2 := time.Duration(1 * time.Microsecond) fmt.Println(t2) fmt.Println(jaDuration(t2)) t3 := time.Duration(1 * time.Millisecond) fmt.Println(t3) fmt.Println(jaDuration(t3)) t4 := time.Duration(1 * time.Second) fmt.Println(t4) fmt.Println(jaDuration(t4)) t5 := time.Duration(1 * time.Minute) fmt.Println(t5) fmt.Println(jaDuration(t5)) t6 := time.Duration(1 * time.Hour) fmt.Println(t6) fmt.Println(jaDuration(t6)) }
上のコードを実行すると下記のような実行結果となる。
1ns 1ナノ秒 1µs 1マイクロ秒 1ms 1ミリ秒 1s 1秒 1m0s 1分0秒 1h0m0s 1時間0分0秒
ちなみにコードを作成するに当たり、下記のドキュメントを参照している。