サイトロゴ

dateコマンドで日時の表示 macOS/Linux/Unix

著者画像
Toshihiko Arai

dateコマンドの基本的な使用方法

date コマンドは、Unix系オペレーティングシステム(LinuxやmacOSなど)で使用されるコマンドラインユーティリティで、現在の日時を表示したり、設定したりするために使用されます。このコマンドは、様々なフォーマットで日時を表示するためのオプションを提供します。

現在の日時を表示

date

特定のフォーマットで日時を表示(例: 年-月-日 時:分:秒)

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

dateコマンドのフォーマットオプション

date コマンドで使用できるフォーマットオプションの一部を以下に示します。

オプション 説明
%Y 4桁の年(例: 2024)
%m 2桁の月(例: 01~12)
%d 2桁の日(例: 01~31)
%H 24時間制の2桁の時間(例: 00~23)
%M 2桁の分(例: 00~59)
%S 2桁の秒(例: 00~59)

dateコマンドのオプション一覧

date コマンドの使用可能なオプションの一覧を以下の表にまとめます。この表は、一般的なUnix系オペレーティングシステム(LinuxやmacOSなど)での使用を想定しています。オプションは実行環境によって異なる場合がありますので、詳細は各システムのmanページ(man dateコマンドで参照)を確認してください。

オプション 説明
-d--date 指定した日付/時間で日時を表示します。
-f 指定したフォーマットで複数の日時を解析します。
-I ISO 8601形式で日時を表示します。オプションで時間の精度(hoursminutessecondsdate)を指定できます。
-r 指定したファイルの最終修正時刻を表示します。
-R RFC 2822形式で日時を表示します。メールなどで使用される形式です。
-u--utc--universal UTC(協定世界時)で日時を表示します。
--help 使用方法を表示します。
--version バージョン情報を表示します。

特定の日時を表示

date -d "yesterday"

ISO 8601形式で現在の日時を表示

date -Iseconds

指定したファイルの最終修正時刻を表示

date -r filename.txt

UTCで現在の日時を表示

date -u

dateコマンドの応用編

特定の日付でdateコマンドを使用する

次は、 2024年12月25日のタイムスタンプを取得する例です:

date -j -f "%Y-%m-%d" "2024-12-25" "+%s"

-j オプションは、日時を設定することなく、日時の変換や計算を行うために使用されます。つまり、システムの日時を変更せずに、特定の日時フォーマットの変換や計算を行いたい場合に便利です。

現在のUNIXタイムスタンプを取得

date "+%s"

日時をファイル名に含める

次は、バックアップファイルの生成の例です:

tar -czf backup_$(date "+%Y-%m-%d_%H-%M-%S").tar.gz /path/to/directory

date コマンドはシステムの設定やタイムゾーンに依存するため、表示される情報は実行環境によって異なります。また、システムの日時を変更するには、スーパーユーザー権限が必要です。

関連記事