dateコマンドを使うと以下のことができます。
- 現在時刻を出力
- 現在時刻を指定したフォーマットで出力
- 現在時刻を設定
現在時刻を出力
[日本語環境の場合]
1 2 |
$ date 2012年 10月 4日 木曜日 08:14:46 JST |
[英語環境の場合]
1 2 |
$ date Thu Oct 4 08:15:12 JST 2012 |
現在時刻を指定したフォーマットで出力する
フォーマットを指定する場合は以下の形式で実行します。
1 |
$ date +"<フォーマット文字列'>" |
この<フォーマット文字列>部分で、出力形式を指定します。
たとえば、「2012/10/04」と出したければ以下のようにします。
1 2 |
$ date +"%Y/%m/%d" 2012/10/04 |
この時間を指定する<フォーマット文字列>の指定方法は以下になります。
%H | 時 (00~23) |
%I | 時 (01~12) |
%k | 時 ( 0~23) |
%l | 時 ( 1~12) |
%M | 分 (00~59) |
%p | AM あるいは PM のロケール(国や地域に合わせた文字列) |
%r | 12時間形式の時刻 (HH:mm:ss [AP]M) |
%s | 1970-01-01 00:00:00 UTC からの秒数 |
%S | 秒 (00~61) |
%T | 24時間形式の時刻 (HH:mm:ss) |
%a | ロケールによる省略形の曜日の名前 (Sun~Sat) |
%A | ロケールによる完全に表記した曜日の名前(Sunday~Saturday) |
%b | ロケールによる省略形の月の名前 (Jan~Dec) |
%B | ロケールによる完全に表記した月の名前(January~December) |
%c | ロケールによる日付と時刻 (Sat Nov 04 12:02:33 EST 1989) |
%d | 日(月内通算日数) (01~31) |
%D | 日付 (MM/DD/YY) |
%j | 年内通算日数 (001~366) |
%m | 月 (01~12) |
%w | 週のうちの曜日(0~6)で0が日曜日に対応 |
%x | ロケールによる日付の表現 (MM/DD/YY) |
%y | 西暦の下2けた (00~99) |
%Y | 年 (1970~) |
つまり、上記にしたがって、”%〇”と記述するとその〇の部分の文字に従って
現在時刻についての情報を出力します。
同じ”時間(hour)”を表す表現にも4種類もの指定方法があります。
(%H, %I, %k, %l)
これらは、24時間表記かどうかや、一桁の場合先頭に0を付けるかどうかなどの違いがあります。
他にも同じ値を示しているが違った出力形式のものがあるので必要に応じて適切なものを
指定してみてください。/