
スポンサーリンク
LinuxやUnix系OSで日付や時刻を表示・操作する際に頻繁に使用されるdate
コマンド。本記事では、特に実用性の高い「フォーマット指定」に焦点を当て、エンジニア視点で詳しく解説します。初心者にも分かりやすく、かつ実務に役立つ内容となっています。
date
コマンドの基本
端末(ターミナル)でdate
と入力すると、現在のシステム時刻が標準的な形式で表示されます。
$ date2025年 4月 6日 日曜日 10:30:00 JST
この形式は目視確認には便利ですが、スクリプト処理やログファイルへの出力など、機械的な処理を行うには扱いにくいことがあります。そうした場面では、フォーマットをカスタマイズすることで、より適切で一貫性のある形式に整えることが重要です。
フォーマット指定(yyyymmddhhmmss)
date
コマンドでは、+
記号を使うことで出力形式をカスタマイズできます。書式文字列内にはプレースホルダとして「フォーマット指定子」を用います。
$ date "+%Y-%m-%d %H:%M:%S"2025-04-06 10:30:00
このようにすることで、日付や時刻を「YYYY-MM-DD HH:MM:SS」という標準的な形式で出力できます。これはログ管理や時系列データの処理において非常に有用です。
以下は、特によく使われる主なフォーマット指定子の一覧です。
指定子 | 意味 | 出力例 |
---|---|---|
%Y | 西暦(4桁) | 2025 |
%y | 西暦(下2桁) | 25 |
%m | 月(2桁) | 04 |
%d | 日(2桁) | 06 |
%H | 時(24時間表記) | 10 |
%I | 時(12時間表記) | 10 |
%M | 分 | 30 |
%S | 秒 | 00 |
%p | 午前・午後(AM/PM) | AM |
%A | 曜日(英語・フル) | Sunday |
%a | 曜日(英語・略称) | Sun |
%Z | タイムゾーン | JST |
これらを組み合わせることで、柔軟な出力フォーマットを実現できます。
dateコマンドでよく使うフォーマット例
ログファイル名に日付指定
ログファイルには、日付をファイル名に埋め込むことで、日次ログの管理が容易になります。
$ date "+log_%Y%m%d.txt"log_20250406.txt
バックアップディレクトリ名に日付指定
バックアップのタイミングに応じたディレクトリ名を動的に生成できます。
$ date "+backup_%Y-%m-%d_%H%M"backup_2025-04-06_1030
日付をUTCで出力
国際的なデータ交換やクラウド環境でのログ共有では、ISO 8601形式が求められることがあります。
$ date -u "+%Y-%m-%dT%H:%M:%SZ"2025-04-06T01:30:00Z
※ -u
オプションはUTC(協定世界時)での出力を意味します。システム時刻と異なる場合があるため注意が必要です。
日本語を含む形式で日付表示
$ date "+%Y年%m月%d日(%a) %H時%M分"2025年04月06日(日) 10時30分
特定の日付をフォーマットする
-d
オプションを使用すると、現在時刻ではなく、任意の日時を指定してフォーマット出力することができます。これは、過去のログや未来の日程を扱う際に非常に便利です。
相対的な日付の表示
$ date -d "yesterday" "+%Y-%m-%d"2025-04-05
$ date -d "next Monday" "+%Y-%m-%d"2025-04-07
このように、自然言語的な日付指定も可能です。
日付を固定してフォーマットする
$ date -d "2023-12-25" "+%A"Monday
この機能は、カレンダー処理やイベント計画の自動化にも役立ちます。
dateコマンドを他コマンドと連携する
date
コマンドは、他のUNIX系コマンドと組み合わせることで威力を発揮します。例えば、シェルスクリプト内で動的にログファイル名を生成したり、cron
でのジョブ実行時にタイムスタンプを付けたりできます。
#!/bin/bashfilename="report_$(date +%Y%m%d_%H%M%S).txt"echo "ログファイル: $filename"
また、find
やtouch
などと組み合わせることで、タイムスタンプを利用したファイル操作の自動化も可能です。
date
コマンドのフォーマット指定を使いこなせば、ログファイルの命名、バックアップの管理、ジョブスケジューリング、さらにはクラウド上でのデータ同期など、多岐にわたる用途に対応できます。
まずは基本的なフォーマットをマスターし、自分の業務に合わせて応用してみましょう。小さな工夫が、大きな効率化につながります。
Linuxユーザにお勧めの本
![]() | ゼロからわかる Linuxコマンド200本ノック?基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!
新品価格 |

![]() | エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書
新品価格 |

以上で本記事の解説を終わります。
よいITライフを!