Linuxで作業していると、「現在の日付や時刻をログに出したい」「ファイル名にタイムスタンプを付けたい」といった場面が頻繁にありますよね。
そんなときに活躍するのが、シンプルかつ強力なdate
コマンドです。
ただし、書式指定(フォーマット)が意外と複雑で覚えづらいのも事実…。今回は、よく使う日時フォーマットや具体例を中心に、初心者でもすぐに使える形でご紹介します。
現在の日時を確認する基本コマンド

まずは最も基本的な使い方から見てみましょう。
date
出力例:
Thu May 22 18:45:00 JST 2025
これは「ロケール」によって形式が異なります。思い通りの形式に整えるには、**+書式文字列
**を使いましょう。
dateコマンドのフォーマット構文
基本的な構文はこちらです。
date +"書式指定"
例:
date +"%Y-%m-%d %H:%M:%S"
出力:
2025-05-22 18:45:00
この書式指定を覚えることで、自由に日時をフォーマットできるようになります。
よく使う日時フォーマット一覧
書式指定子の組み合わせで、様々な表示ができます。
書式 | 意味 | 出力例 |
---|---|---|
%Y | 年(4桁) | 2025 |
%m | 月(2桁) | 05 |
%d | 日(2桁) | 22 |
%H | 時(24時間制) | 18 |
%M | 分 | 45 |
%S | 秒 | 00 |
%y | 年(下2桁) | 25 |
%b | 月(省略英語) | May |
%A | 曜日(全表記) | Thursday |
この表を参考にすれば、必要な形式がすぐに作れますね。
よくある用途別のサンプルコマンド

実際の業務でよく使うパターンを紹介します。
ログファイル用のタイムスタンプ
date +"%Y%m%d_%H%M%S"
# 出力例:20250522_184500
日本語で年月日表示
date +"%Y年%m月%d日 %H時%M分"
# 出力例:2025年05月22日 18時45分
ファイル名に使う(スクリプト内で)
FILENAME="backup_$(date +'%Y%m%d_%H%M%S').tar.gz"
このようにして、ファイル名に日時を組み込むことができます。便利ですね。
過去・未来の日時を表示する
date
コマンドは、相対時間の指定も可能なんです。
明日の日時
date -d "next day" +"%Y-%m-%d"
1時間前
date -d "1 hour ago" +"%H:%M:%S"
この機能を使えば、過去や未来の日時も簡単に計算できます。
UTC表示やタイムゾーンを変更する
タイムゾーンの切り替えも簡単です。
TZ=UTC date +"%Y-%m-%d %H:%M:%S"
他の例:TZ=Asia/Tokyo
なども使えます。国際的なプロジェクトでは特に重要な機能ですね。
まとめ:dateコマンドを使いこなせばスクリプトもプロ並みに!
Linuxでは、ログ出力やファイル管理、スケジューラ処理において日時のフォーマットは非常に重要です。
date
コマンドをマスターすれば、見やすく整った出力が簡単に実現できるようになります。
ポイントまとめ
date
コマンドで現在日時を取得&整形可能+フォーマット文字列
で好きな表示形式に変えられる- ログ用、ファイル名用、日本語表示など多用途に活用可能
-d
オプションで相対時間も取得できるTZ
でタイムゾーン指定も柔軟に対応
コメント