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