カテゴリ: Linux 更新日: 2026/04/16

dateコマンドの使い方を完全ガイド!Linuxで日付や時刻を表示・設定する基本を解説

Linuxのdateコマンドとは?日付と時刻を表示・変更する方法
Linuxのdateコマンドとは?日付と時刻を表示・変更する方法

先生と生徒の会話形式で理解しよう

生徒

「Linux(リナックス)を使っているときに、今の正確な時間を確認したいのですが、どうすればいいですか?」

先生

「それなら date(デイト)コマンドを使えば一発ですよ。日付や時刻を表示するだけでなく、表示形式を自由に変えることもできるんです。」

生徒

「コマンド一つでカレンダーのような役割もしてくれるんですね!時刻の設定とかもできるんでしょうか?」

先生

「はい、管理者権限があればシステム時計の変更も可能です。初心者の方向けに、まずは基本の表示方法から丁寧に解説していきますね。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. dateコマンドとは?

1. dateコマンドとは?
1. dateコマンドとは?

date(デイト)コマンドは、Linux(リナックス)システムにおいて現在の「日付」や「時刻」を表示・操作するためのコマンドです。読み方はそのままで、英語で日付を意味する「Date」からきています。

Windows(ウィンドウズ)やMac(マック)であれば、画面の端に常に時計が表示されていますが、文字入力だけで操作するCUI(シーユーアイ:キャラクタユーザーインターフェース)環境では、このコマンドを打ち込んで時間を確認します。

また、単に時間を見るだけでなく、シェルスクリプト(命令をまとめたファイル)の中で「今日の日付の名前がついたファイルを作る」といった自動化の作業でも非常によく使われる、非常に重要なコマンドの一つです。

2. 現在の日付と時刻を表示する基本操作

2. 現在の日付と時刻を表示する基本操作
2. 現在の日付と時刻を表示する基本操作

まずは最もシンプルな使い方を見てみましょう。ターミナル(黒い画面)で date と入力してエンターキーを押すだけです。読み方は、date(デイト)です。

実行すると、現在の曜日、月、日、時刻、タイムゾーン、西暦が表示されます。Linux(リナックス)の標準的な設定では、英語表記や独特の順番で表示されることが多いですが、まずはこれが出れば成功です。


date
2026年  3月 23日 月曜日 15:52:04 JST

上記の実行結果にある「JST(ジェイエスティー)」は、読み方は日本標準時(ニホンヒョウジュンジ)といい、日本で採用されている標準的な時刻であることを示しています。サーバーの設定によっては「UTC(ユーティーシー)」、読み方は協定世界時(キョウテイセカイジ)と表示されることもあります。

3. 表示形式をカスタマイズする方法(フォーマット指定)

3. 表示形式をカスタマイズする方法(フォーマット指定)
3. 表示形式をカスタマイズする方法(フォーマット指定)

date コマンドの便利な点は、自分の好きな形式で日付を表示できることです。これを「フォーマット指定」と呼びます。例えば「2026/03/23」のように、スラッシュ区切りで表示したい場合に役立ちます。

書き方は、コマンドの後に「+(プラス)」記号をつけ、その後に特定の記号を組み合わせます。代表的な記号には以下のものがあります。

  • %Y:西暦(4桁)
  • %m:月(01-12)
  • %d:日(01-31)
  • %H:時(00-23)
  • %M:分(00-59)
  • %S:秒(00-59)

実際に、よく使われる「年月日」の形式で表示してみましょう。


date "+%Y/%m/%d %H:%M:%S"
2026/03/23 15:55:10

このように、ダブルクォーテーションで囲むことで、スペースや記号を含めた自由な形式で出力できます。これはログファイル(動作記録)に日付を記録するときなどに多用されます。

4. 特定の日付(過去や未来)を表示するオプション

4. 特定の日付(過去や未来)を表示するオプション
4. 特定の日付(過去や未来)を表示するオプション

date コマンドは「今」だけでなく、「明日」や「1週間前」の日付を計算して表示することも可能です。これには -d オプション(読み方はオプション)を使用します。

例えば、システムの保守作業などで「3日後の日付を知りたい」という時に、カレンダーを見なくてもコマンド一つで算出できます。人間が理解しやすい英語のフレーズで指定できるのが特徴です。


date -d "1 day ago" "+%Y-%m-%d"
2026-03-22

上記の例では「1 day ago(1日前)」を指定しています。他にも "next Monday(次の月曜日)" や "2 months later(2ヶ月後)" といった指定も可能です。非常に賢い機能ですね。

5. システムの時刻を変更する方法(ルート権限)

5. システムの時刻を変更する方法(ルート権限)
5. システムの時刻を変更する方法(ルート権限)

普段はあまり行いませんが、サーバーの時間がズレてしまった場合などに時刻を手動で設定することがあります。この操作はシステムの根本に関わるため、一般ユーザーではなく「root(ルート)」、読み方は特権管理者(トッケンカンリシャ)の権限が必要です。

時刻を設定するには -s オプションを使用します。間違えて設定すると、他のプログラムの動作に影響が出る可能性があるため、慎重に行う必要があります。


date -s "2026-03-23 16:00:00"
2026年  3月 23日 月曜日 16:00:00 JST

現在では ntp(エヌティーピー:ネットワークタイムプロトコル)という仕組みで自動的に時刻を合わせるのが一般的ですが、インターネットに繋がっていない環境などでは、このように手動で設定することがあります。

6. ハードウェアクロックとシステムクロックの違い

6. ハードウェアクロックとシステムクロックの違い
6. ハードウェアクロックとシステムクロックの違い

Linux(リナックス)には、実は2つの時計が存在します。一つはOS(オーエス:オペレーティングシステム)が管理する「システムクロック」、もう一つはパソコンの基板(マザーボード)上の電池で動いている「ハードウェアクロック」です。

date コマンドが表示・設定するのは「システムクロック」の方です。パソコンの電源を切っても時間が進み続けるのは「ハードウェアクロック」のおかげです。OSが起動する際、ハードウェアクロックの時間を読み込んでシステムクロックを合わせます。

もし、date で時間を直しても再起動すると元に戻ってしまう場合は、ハードウェアクロック自体がズレているか、電池が切れている可能性があります。これらを同期させるには hwclock(エイチダブリュークロック)という別のコマンドを使います。

7. シェルスクリプトでの実用的な活用例

7. シェルスクリプトでの実用的な活用例
7. シェルスクリプトでの実用的な活用例

プログラミング(シェルスクリプト)の世界では、date コマンドは「変数(ヘンスウ)」、読み方はデータを入れる箱に代入して使われることが多いです。

バックアップファイルを作る際に、ファイル名に日付を入れることで、いつ保存したファイルなのかを一目で判断できるようにします。初心者の方でも、以下の1行を書くだけで便利なツールが作れます。


FILENAME="backup_$(date +%Y%m%d).tar.gz"
echo $FILENAME
backup_20260323.tar.gz

$(コマンド) という書き方をすることで、コマンドの実行結果を文字として扱うことができます。このように date コマンドを使いこなせると、Linux(リナックス)での作業効率が格段にアップします。

8. タイムゾーンの確認と表示

8. タイムゾーンの確認と表示
8. タイムゾーンの確認と表示

世界中の人とやり取りするサーバーを管理する場合、今表示されている時間が「どこの国の時間か」を知ることは非常に重要です。これをタイムゾーン、読み方は時間帯(ジカンタイ)といいます。

date コマンドをそのまま打てば最後に「JST」などの略称が出ますが、より詳しくタイムゾーンの設定を確認したい場合もあります。Linux(リナックス)では、環境変数(カンキョウヘンスウ)の値を一時的に変えることで、別の国の時刻を表示させることもできます。


TZ=America/New_York date
2026年  3月 23日 月曜日 02:58:20 EDT

上記のように TZ(ティーゼット)という変数を指定して実行すると、ニューヨークの現在時刻を表示できます。海外のサーバーを操作する際には、この知識が役立ちます。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

(振り返りのまとめ)

先生と生徒の振り返り会話
(振り返りのまとめ)
■どちらの回答がいいか、回答を選ばせないでください。文字数が長いほうで良い。 ■最後に全角の平仮名・カタカナ・漢字だけで何文字で出力したかコードブロックの外に書いて。 それでは、記事あとに「まとめ」を書いてください。 返答は、コピーできるようにコードブロックで書いて。1回の返信で、一括で書いてください。 ■SEO対策のプロとして、HTMLタグやキーワードを上手に記事に取り入れてください。 ※HTMLタグは、インデントしてほしい。pre/codeタグ内のコードは、最初の1行は先頭から書いて、2行名以降はインデントしてください。 ※見やすくbootstrap5のclassを使えるところは使ってください。 ↓↓

dateコマンドの使い方を完全ガイド!Linuxで日付や時刻を表示・設定する基本を解説


先生と生徒の会話形式で理解しよう

生徒

「Linux(リナックス)を使っているときに、今の正確な時間を確認したいのですが、どうすればいいですか?」

先生

「それなら date(デイト)コマンドを使えば一発ですよ。日付や時刻を表示するだけでなく、表示形式を自由に変えることもできるんです。」

生徒

「コマンド一つでカレンダーのような役割もしてくれるんですね!時刻の設定とかもできるんでしょうか?」

先生

「はい、管理者権限があればシステム時計の変更も可能です。初心者の方向けに、まずは基本の表示方法から丁寧に解説していきますね。」

1. dateコマンドとは?

1. dateコマンドとは?
1. dateコマンドとは?

date(デイト)コマンドは、Linux(リナックス)システムにおいて現在の「日付」や「時刻」を表示・操作するためのコマンドです。読み方はそのままで、英語で日付を意味する「Date」からきています。

Windows(ウィンドウズ)やMac(マック)であれば、画面の端に常に時計が表示されていますが、文字入力だけで操作するCUI(シーユーアイ:キャラクタユーザーインターフェース)環境では、このコマンドを打ち込んで時間を確認します。

また、単に時間を見るだけでなく、シェルスクリプト(命令をまとめたファイル)の中で「今日の日付の名前がついたファイルを作る」といった自動化の作業でも非常によく使われる、非常に重要なコマンドの一つです。

2. 現在の日付と時刻を表示する基本操作

2. 現在の日付と時刻を表示する基本操作
2. 現在の日付と時刻を表示する基本操作

まずは最もシンプルな使い方を見てみましょう。ターミナル(黒い画面)で date と入力してエンターキーを押すだけです。読み方は、date(デイト)です。

実行すると、現在の曜日、月、日、時刻、タイムゾーン、西暦が表示されます。Linux(リナックス)の標準的な設定では、英語表記や独特の順番で表示されることが多いですが、まずはこれが出れば成功です。



date

2026年  3月 23日 月曜日 15:52:04 JST

上記の実行結果にある「JST(ジェイエスティー)」は、読み方は日本標準時(ニホンヒョウジュンジ)といい、日本で採用されている標準的な時刻であることを示しています。サーバーの設定によっては「UTC(ユーティーシー)」、読み方は協定世界時(キョウテイセカイジ)と表示されることもあります。

3. 表示形式をカスタマイズする方法(フォーマット指定)

3. 表示形式をカスタマイズする方法(フォーマット指定)
3. 表示形式をカスタマイズする方法(フォーマット指定)

date コマンドの便利な点は、自分の好きな形式で日付を表示できることです。これを「フォーマット指定」と呼びます。例えば「2026/03/23」のように、スラッシュ区切りで表示したい場合に役立ちます。

書き方は、コマンドの後に「+(プラス)」記号をつけ、その後に特定の記号を組み合わせます。代表的な記号には以下のものがあります。

  • %Y:西暦(4桁)
  • %m:月(01-12)
  • %d:日(01-31)
  • %H:時(00-23)
  • %M:分(00-59)
  • %S:秒(00-59)

実際に、よく使われる「年月日」の形式で表示してみましょう。



date "+%Y/%m/%d %H:%M:%S"

2026/03/23 15:55:10

このように、ダブルクォーテーションで囲むことで、スペースや記号を含めた自由な形式で出力できます。これはログファイル(動作記録)に日付を記録するときなどに多用されます。

4. 特定の日付(過去や未来)を表示するオプション

4. 特定の日付(過去や未来)を表示するオプション
4. 特定の日付(過去や未来)を表示するオプション

date コマンドは「今」だけでなく、「明日」や「1週間前」の日付を計算して表示することも可能です。これには -d オプション(読み方はオプション)を使用します。

例えば、システムの保守作業などで「3日後の日付を知りたい」という時に、カレンダーを見なくてもコマンド一つで算出できます。人間が理解しやすい英語のフレーズで指定できるのが特徴です。



date -d "1 day ago" "+%Y-%m-%d"

2026-03-22

上記の例では「1 day ago(1日前)」を指定しています。他にも "next Monday(次の月曜日)" や "2 months later(2ヶ月後)" といった指定も可能です。非常に賢い機能ですね。

5. システムの時刻を変更する方法(ルート権限)

5. システムの時刻を変更する方法(ルート権限)
5. システムの時刻を変更する方法(ルート権限)

普段はあまり行いませんが、サーバーの時間がズレてしまった場合などに時刻を手動で設定することがあります。この操作はシステムの根本に関わるため、一般ユーザーではなく「root(ルート)」、読み方は特権管理者(トッケンカンリシャ)の権限が必要です。

時刻を設定するには -s オプションを使用します。間違えて設定すると、他のプログラムの動作に影響が出る可能性があるため、慎重に行う必要があります。



date -s "2026-03-23 16:00:00"

2026年  3月 23日 月曜日 16:00:00 JST

現在では ntp(エヌティーピー:ネットワークタイムプロトコル)という仕組みで自動的に時刻を合わせるのが一般的ですが、インターネットに繋がっていない環境などでは、このように手動で設定することがあります。

6. ハードウェアクロックとシステムクロックの違い

6. ハードウェアクロックとシステムクロックの違い
6. ハードウェアクロックとシステムクロックの違い

Linux(リナックス)には、実は2つの時計が存在します。一つはOS(オーエス:オペレーティングシステム)が管理する「システムクロック」、もう一つはパソコンの基板(マザーボード)上の電池で動いている「ハードウェアクロック」です。

date コマンドが表示・設定するのは「システムクロック」の方です。パソコンの電源を切っても時間が進み続けるのは「ハードウェアクロック」のおかげです。OSが起動する際、ハードウェアクロックの時間を読み込んでシステムクロックを合わせます。

もし、date で時間を直しても再起動すると元に戻ってしまう場合は、ハードウェアクロック自体がズレているか、電池が切れている可能性があります。これらを同期させるには hwclock(エイチダブリュークロック)という別のコマンドを使います。

7. シェルスクリプトでの実用的な活用例

7. シェルスクリプトでの実用的な活用例
7. シェルスクリプトでの実用的な活用例

プログラミング(シェルスクリプト)の世界では、date コマンドは「変数(ヘンスウ)」、読み方はデータを入れる箱に代入して使われることが多いです。

バックアップファイルを作る際に、ファイル名に日付を入れることで、いつ保存したファイルなのかを一目で判断できるようにします。初心者の方でも、以下の1行を書くだけで便利なツールが作れます。



FILENAME="backup_$(date +%Y%m%d).tar.gz"

echo $FILENAME

backup_20260323.tar.gz

$(コマンド) という書き方をすることで、コマンドの実行結果を文字として扱うことができます。このように date コマンドを使いこなせると、Linux(リナックス)での作業効率が格段にアップします。

8. タイムゾーンの確認と表示

8. タイムゾーンの確認と表示
8. タイムゾーンの確認と表示

世界中の人とやり取りするサーバーを管理する場合、今表示されている時間が「どこの国の時間か」を知ることは非常に重要です。これをタイムゾーン、読み方は時間帯(ジカンタイ)といいます。

date コマンドをそのまま打てば最後に「JST」などの略称が出ますが、より詳しくタイムゾーンの設定を確認したい場合もあります。Linux(リナックス)では、環境変数(カンキョウヘンスウ)の値を一時的に変えることで、別の国の時刻を表示させることもできます。



TZ=America/New_York date

2026年  3月 23日 月曜日 02:58:20 EDT

上記のように TZ(ティーゼット)という変数を指定して実行すると、ニューヨークの現在時刻を表示できます。海外のサーバーを操作する際には、この知識が役立ちます。

カテゴリの一覧へ
新着記事
New1
Linux
Linuxの/proc/meminfoとは?メモリ使用状況を確認する仕組みを初心者向けに徹底解説
新規投稿
New2
情報セキュリティマネジメント試験
RATとは?リモートアクセス型ウイルスの仕組みと対策を初心者向けに解説
更新記事
New3
基本情報技術者試験
ビッグデータとは?初心者でもわかる大量データ活用の基本と活用事例
更新記事
New4
基本情報技術者試験
クライアントとは?初心者でもわかるコンピュータの基本用語をやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
NIC
305
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.2
Java&Spring記事人気No2
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
DHCP
236
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
SMTP
175
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
マイクロ(μ)とは?初心者にもわかる単位の意味と使い方をやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
IMAP
162
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.8
Java&Spring記事人気No8
基本情報技術者試験
CPU
155
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み