dateコマンドの使い方。macOS、Linux向け。
コマンドラインにdateコマンドというものがある。わたしはファイル名をつけるときなどによく使う。
とくにオプションを指定しないで使うと現在の日付、時刻、時間帯がターミナルに表示される。
$ date
2020年 6月 8日 月曜日 11時10分03秒 JST
dateコマンドのうしろに"+..."という文字列を続けると、出力するフォーマットを指定することができる。書式は次のとおり。ダブルクォートで囲んで最初の文字を+にする。
date "+出力するフォーマット"
「出力するフォーマット」のところで使える代表的な書式は以下。
| 文字列 | 説明 | 出力例 |
|---|---|---|
| %Y | 4ケタ年 | 2020 |
| %y | 下ケタ年 00~99 | 09(2009などのとき) |
| %-y | 下ケタ年 0~99 | 9(2009などのとき) |
| %m | 月 01~12 | 06 |
| %-m | 月 1~12 | 6 |
| %d | 日 01~31 | 08 |
| %-d | 日 1~31 | 8 |
| %H | 時(24時間)00~23 | 8 |
| %-H | 時(24時間)0~23 | 8 |
| %I | 時(12時間)01~12 | 09 |
| %-I | 時(12時間)1~12 | 9 |
| %M | 分 00~59 | 08 |
| %-M | 分 0~59 | 8 |
| %S | 秒 00~59 | 03 |
| %-S | 秒 0~59 | 3 |
| %-S | UNIX時間(1970年1月1日からの秒数) | 1591584684 |
たとえば上のように、いまが2020年6月8日11時10分03秒のときに、「yyyymmdd」、つまり「4桁年2桁月2桁日」と出力したいなら…
$ date "+%Y%m%d"
20200608
「yyyymmdd-HHMM」なら…
$ date "+%Y%m%d-%H%M"
20200608-1110
秒も入れたい?
$ date "+%Y%m%d-%H%M%S"
20200608-111003