20220225のGoに関する記事は1件です。

Goの日時フォーマットあれこれ

はじめに Goの日付フォーマット、時間フォーマットは多言語と比べてユニークです。覚えるまでに少し時間がかかります。なので、ここでまとめてみました。 年 文字 解説 出力例 2006 4桁の年 2000, 2022 06 下2桁の年 00, 22 // 2022年の場合 fmt.Println(time.Now().Format(`2006`)) // 2022 fmt.Println(time.Now().Format(`06`)) // 22 月 文字 解説 出力例 2 1桁または2桁の数字 1, 2, ..., 10, 11, 12 _2 1桁または2桁の数字。先頭は半角スペース埋め 1, 2, ..., 10, 11, 12 02 2桁の数字。先頭は0埋め 01, 02, ..., 10, 11, 12 Jan 省略した月名。大文字小文字を区別する。 Jan, Feb, ..., Nov, Dec January フルテキストの月名。大文字小文字を区別する。 January, February, ..., November, December // 3月の場合 fmt.Println(time.Now().Format(`2`)) // 3 fmt.Println(time.Now().Format(`_2`)) // 3 fmt.Println(time.Now().Format(`02`)) // 03 fmt.Println(time.Now().Format(`Jan`)) // Mar fmt.Println(time.Now().Format(`January`)) // March 日 文字 解説 出力例 3 1桁または2桁の数字 1, 2, ..., 30, 31 _3 1桁または2桁の数字。先頭は半角スペース埋め 1, 2, ..., 30, 31 03 2桁の数字。先頭は0埋め 01, 02, ..., 30, 31 // 5日の場合 fmt.Println(time.Now().Format(`3`)) // 5 fmt.Println(time.Now().Format(`_3`)) // 5 fmt.Println(time.Now().Format(`03`)) // 05 曜日 文字 解説 出力例 Mon 省略した曜日名 Mon, Tue, ..., Sat, Sun Monday フルテキストの曜日名 Monday, Tuesday, ..., Saturday, Sunday // 2022年2月1日(火)の場合 fmt.Println(time.Now().Format(`Mon`)) // Tue fmt.Println(time.Now().Format(`Monday`)) // Tuesday 日数 文字 解説 出力例 __2 元日からの日数。先頭は半角スペース埋め。 1, 2, ..., 364, 365 002 元日からの日数。先頭は0埋め。 001, 002, ..., 364, 365 // 2022年2月1日(火)の場合 fmt.Println(time.Now().Format(`__2`)) // 32 fmt.Println(time.Now().Format(`002`)) // 032 時 文字 解説 出力例 3 12時間表記の数字 1, 2, ..., 11, 12 03 12時間表記の数字。先頭は0埋め。 01, 02, ..., 11, 12 15 24時間表記の数字。先頭は0埋め。 00, 01, ..., 22, 23 // 現在時刻が午後4時の場合 fmt.Println(time.Now().Format(`3`)) // 4 fmt.Println(time.Now().Format(`03`)) // 04 fmt.Println(time.Now().Format(`15`)) // 16 分 文字 解説 出力例 4 1桁または2桁の数字 0, 1, ..., 58, 59 04 2桁の数字。先頭は0埋め。 00, 01, ..., 58, 59 // 現在時刻が9分の場合 fmt.Println(time.Now().Format(`4`)) // 9 fmt.Println(time.Now().Format(`04`)) // 09 秒 文字 解説 出力例 5 1桁または2桁の数字 0, 1, ..., 58, 59 05 2桁の数字。先頭は0埋め。 00, 01, ..., 58, 59 // 現在時刻が9秒の場合 fmt.Println(time.Now().Format(`5`)) // 9 fmt.Println(time.Now().Format(`05`)) // 09 マイクロ秒以下 文字 解説 出力例 .0.000000000 0の数で桁数(1~9)が変わる。桁数は0の数と同じ。 000000000, ..., 999999999 .9.999999999 9の数で桁数(1~9)が変わる。桁数は9の数と同じだが、最小位の0は省略される。 0, ..., , 999999999 // 現在時刻の小数点以下が0.071581420秒の場合 fmt.Println(time.Now().Format(`.0`)) // .0 fmt.Println(time.Now().Format(`.000000000`)) // .071581420 fmt.Println(time.Now().Format(`.9`)) // 空文字 fmt.Println(time.Now().Format(`.999999999`)) // .07158142 午前 / 午後 文字 解説 出力例 pm 午前または午後の英語表記。小文字。 am, pm PM 午前または午後の英語表記。大文字。 AM, PM // 現在時刻が午前の場合 fmt.Println(time.Now().Format(`pm`)) // am fmt.Println(time.Now().Format(`PM`)) // AM タイムゾーン 文字 解説 出力例 MST タイムゾーンの3文字表記 UTC, JST etc // タイムゾーンが日本の場合 fmt.Println(time.Now().Format(`MST`)) // JST オフセット 文字 解説 出力例 -07:00 UTCからのオフセット +09:00, -01:00 etc -0700 UTCからのオフセット +0900, -0100 etc -07 UTCからのオフセット +09, -01 etc Z07:00 UTCからのオフセット +09:00, -01:00 etc Z0700 UTCからのオフセット +0900, -0100 etc Z07 UTCからのオフセット +09, -01 etc // タイムゾーンが日本の場合 fmt.Println(time.Now().Format(`-07:00`)) // +09:00 fmt.Println(time.Now().Format(`-0700`)) // +0900 fmt.Println(time.Now().Format(`-07`)) // +09 fmt.Println(time.Now().Format(`Z07:00`)) // +09:00 fmt.Println(time.Now().Format(`Z0700`)) // +0900 fmt.Println(time.Now().Format(`Z07`)) // +09
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む