dateは日付と時刻を表示または変更するLinuxコマンドです。Linuxで日付や時刻を表示したり変更する方法を紹介します。
現在の日付と時刻を表示する。
$ date
2021年 6月 30日 水曜日 12:08:53 JST
JSTとは日本標準時(Japan Standard Time)のことである。
date コマンドには書式を文字列で指定することができる。書式に空白が含まれる場合は、引用符で囲む。
$ date +%d
22
$ date +%F
2021-06-30
$ date +%m/%d/%y
05/22/21
$ date +%H:%M:%S
21:51:06
$ date +"%h %d, %Y"
May 22, 2021
$ date +%M
35
$ date +%T.%N
13:16:01.337757500
$ date +%T.%3N
13:21:35.663
$ date +%m/%d/%Y%n%H:%M:%S
05/22/2021
21:56:30
$ date +%S
46
tsuka@$ date +%T
13:13:39
$ date +%m/%d/%Y%t%H:%M:%S
05/22/2021 21:57:40
$ date +%m/%d/%Y
05/22/2021
$ date +%m/%d/%y
05/22/21
date コマンドには次のコマンド・オプションを指定できる。
-d string
現在の日付と時刻ではなく、引数で指定した日付と時刻を表示する。
$ date -d 20211231
2021年 12月 31日 金曜日 00:00:00 JST
$ date -d yesterday
2021年 6月 29日 火曜日 13:32:29 JST
--date string
$ date -d tomorrow
2021年 7月 1日 木曜日 13:31:25 JST
$ date -d "2 day ago"
2021年 6月 28日 月曜日 13:32:57 JST
--help
ヘルプを表示して終了する。
$ date --utc
2021年 6月 30日 水曜日 04:27:01 UTC
--version
バージョン情報を出力して終了する。
dateコマンドを実行して表示される日付と時刻の書式は、ロケールに影響を受ける。
現在のロケールを確認するには、locale コマンドを実行する。
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME=ja_JP.UTF-8
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
ロケールの優先順位と意味は次のとおりである。
優先順位 | ロケール | 意味 |
---|---|---|
1 | LC_ALL | 全般(優先度高) |
2 | LC_CTYPE | 文字の判定・操作・文字数のカウントなどに影響する。 |
LC_NUMERIC | 金額に関係しない数値の表示(小数の区切り文字など)に影響する。 | |
LC_TIME | 日付と時刻の表示に影響する。 | |
LC_COLLATE | 並び換えや正規表現に用いる文字の照合順序に影響する。 | |
LC_MONETARY | 金額に関連する数値、通貨記号の表示に影響する。 | |
LC_MESSAGES | メッセージに表示する言語、および肯定と否定の応答表現に影響する。 | |
LC_PAPER | 標準的な紙のサイズの寸法に影響する。 | |
LC_NAME | 人に呼びかける際に使用されるフォーマットに影響する。 | |
LC_ADDRESS | 場所や地理関連の項目の表示に影響する。 | |
LC_TELEPHONE | 電話サービスで使用されるフォーマットに影響する。 | |
LC_MEASUREMENT | ロケールの測定系(メートル法かフィート単位系か)に影響する。 | |
LC_IDENTIFICATION | ロケールのメタデータに影響する。 | |
3 | LANG | 全般(優先度低) |
ロケールに設定できる値の一覧を表示するには、-a オプションを指定して locale コマンドを実行する。
$ locale -a
C
C.UTF-8
POSIX
en_US.utf8
ja_JP.utf8
ロケールは大文字と小文字を区別しない。また、ハイフンは無視する。したがって、次に示すロケールはすべて同じ意味である。
ロケールに設定できる値のリストの中に日本語(ja_JP.utf8)が無い場合、日本語の言語パッケージをインストールする。
$ sudo apt install language-pack-ja