logo

Linuxの日付コマンド

Linux date コマンドは、日付、時刻、タイムゾーンなどを表示するために使用されます。また、Linux システムの日付と時刻を設定するためにも使用されます。一般に、日付をさまざまな形式で表示したり、経時的な日付を計算したりするために使用されます。

構文:

 date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 

オプション

以下に、date コマンドの便利なコマンド ライン オプションをいくつか示します。

-d、--date=STRING: STRINGで記述された時刻を表示するために使用されます。

- デバッグ: これは、解析された日付に注釈を付け、物議を醸す使用法に関する警告を標準エラー出力に提供するために使用されます。

-f、--file=日付ファイル: これは「--date」オプションに似ています。

-I[FMT]、--iso-8601[=FMT]: ISO 8601 形式で日付/時刻を表示するために使用されます。

-R、--rfc-電子メール: RFC 5322 形式で日付と時刻を表示するために使用されます。たとえば、2006 年 8 月 14 日月曜日 02:34:56 -0600 のようになります。

--rfc-3339=FMT: RFC 3339 形式で日付/時刻を表示するために使用されます。

-r、--reference=ファイル: ファイルの前回の変更時刻を表示するために使用されます。

-s、--set=STRING: STRINGで記述された時刻を設定するために使用されます。

-u、--utc、--universal: UTC の表示または設定に使用されます。

- ヘルプ: ヘルプマニュアルを表示するために使用します。

- バージョン: バージョン情報を表示します。

書式設定オプション

%a: 曜日の短縮名(例:Sun)を表示するために使用されます。

%A: 完全な曜日名 (日曜日など) を表示するために使用されます。

%b: 月の短縮名 (例: Jan) を表示するために使用されます。

%B: 完全な月名 (例: 1 月) を表示するために使用されます。

%c: 日付と時刻を表示するために使用されます (例: Thu Mar 3 23:05:25 2005)

%C: 世紀を表示するために使用されます。 %Y と同様ですが、最後の 2 桁を省略します (例: 20)

%d: 日付を表示するために使用されます (例: 01)

%D: 日付を表示するために使用されます。 %m/%d/%y と同じ

%それは: これは、スペースが埋め込まれた月の日付を表示するために使用されます。 %_dと同じ

%F: 完全な日付を表示するために使用されます。 %Y-%m-%dと同じ

%g: ISO の西暦の下 2 桁を週番号で表示するために使用されます (%G を参照)。

%G: ISO の週番号を表示するために使用されます (%V を参照)。通常は %V を使用する場合にのみ役立ちます。

%h: これは '%b' オプションに似ています。

%H: 1時間使用されます(00..23)

Javaの面接の質問

%私: 1 時間使用されます (01..12)

%j: 年間の日として使用されます (001..366)

%k: これは時間に使用され、スペースが埋め込まれます (0..23)。 %_Hと同じ

%l: これは時間に使用され、スペースが埋め込まれます (1..12)。 %_Iと同じ

%m: 月 (01..12) に使用されます。

%M: 分(00..59)に使用されます。

%n: 新しいラインに使用されます

%N: ナノ秒単位で使用されます (000000000..999999999)

%p: AM または PM に相当するものを渡すために使用されます。不明な場合は空白

%P: これは '%p' オプションに似ていますが、小文字で渡されます。

%q: 年の四半期 (1..4) を表示するために使用されます。

%r: 12 時間制の時刻を表示するために使用されます (例: 11:11:04 PM)

%R: 24 時間時計の時刻を時と分で表示するために使用されます。 %H:%Mと同じ

%s: 1970-01-01 00:00:00 UTC からの秒数を表示するために使用されます。

%S: 秒 (00..60) を表示するために使用されます。

%t: タブオプションに使用されます。

ループタイプのJava

%T: 時刻を表示するために使用されます。 %H:%M:%S と同じ

%で: これは曜日 (1..7) に使用されます。 1は月曜日です

%で: これは年の週番号として使用され、日曜日を週の最初の日として数えます (00..53)

%で: ISO の週番号に使用され、月曜日を週の最初の日としてカウントします (01..53)。

%で: これは曜日 (0..6) に使用されます。 0は日曜日です

%で: これは年の週番号に使用され、月曜日を週の最初の日としてカウントします (00..53)

%バツ: 日付表現に使用されます (例: 12/31/99)

%バツ: 時間表現に使用されます (例: 23:13:48)

%そして: 西暦の下 2 桁 (00..99) に使用されます。

%そして: 一年使用です

%と: +hh:mm 数値タイムゾーンに使用されます (例: -0400)

%:と: +hh:mm 数値タイムゾーンに使用されます (例: -04:00)

%::と: +hh:mm:ss 数値タイムゾーンに使用されます (例: -04:00:00)

%:::と: 必要な精度に「:」を付けて数値のタイムゾーンに使用されます (例: -04、+05:30)。

%と: アルファベットのタイムゾーンの略称に使用されます (例: EDT)

dateコマンドの例

次の date コマンドの例を見てみましょう。

dateコマンドの使い方

date コマンドは基本的なユーティリティであり、引数なしで実行することで使用できます。現在の日付と時刻が表示されます。以下のコマンドを考えてみましょう。

 date 

上記のコマンドは、システムの現在の日付と時刻を表示します。以下の出力を考えてみましょう。

Linuxの日付

日付の書式設定

日付を選択した形式で表示できます。日付を特定の形式で表示するには、いくつかのオプションがあります。上記の形式オプションのリストから、さまざまな日付形式を確認できます。以下のコマンドを考えてみましょう。

 date '%a %d-%m-%y' date +'%A %d-%m-%y' date +'%b %d-%m-%y' date +'%B %d-%m-%y' date +'%c %d-%m-%y' date +'%C %d-%m-%y' 

上記のコマンドにより、日付がさまざまな形式で表示されます。以下の出力を考えてみましょう。

Linuxの日付

上記のコマンドと同様に、他のオプションも使用できます。上記の書式設定オプションの完全なリストを参照してください。

Javaでの二分探索

日付文字列

日付はさまざまな日付文字列で指定できます。 「-d」オプションは、特定の日付を操作するために使用されます。以下のコマンドを考えてみましょう。

 date -d '2020-06-06 12:10:53' 

上記のコマンドから、別の形式で指定された日付が得られます。特定の日時の説明が表示されます。以下の出力を考えてみましょう。

Linuxの日付

次のようにカスタム書式設定を使用することもできます。

 date -d '06 jun 2020' +'%A, %d %B %Y' 

上記のコマンドは、指定された形式で日付を表示します。以下の出力を考えてみましょう。

Linuxの日付

また、「昨日」、「月曜日」、「先週の月曜日」、「来週の月曜日」、「来月」、「来年」などの文字列を渡すこともできます。

以下のコマンドを考えてみましょう。

 date -d now date -d yesterday date -d tomorrow date -d 'next monday' date -d 'last monday' 

上記のコマンドを実行すると、それに応じて日付が表示されます。以下の出力を考えてみましょう。

Linuxの日付

タイムゾーンのオーバーライド

デフォルトでは、date コマンドは現在のタイムゾーンに従って時刻を表示します。ただし、設定することで変更できます。 環境変数 「ツズ」 「TZ」変数のデフォルト値は、ファイル「/etc/localtime」に保存されます。環境変数の値を変更すると、さまざまなタイムゾーンの時刻を表示できるようになります。以下のコマンドを考えてみましょう。

 TZ='Australia/Melbourne' date TZ=+5:30 date 

上記のコマンドは、指定されたタイムゾーンに従って時間を表示します。以下の出力を考えてみましょう。

Linuxの日付

エポックコンバータとしての日付コマンド

date コマンドを使用してエポック時間を表示することもできます。エポック時間 (Unix 時間、Unix タイムスタンプ、または POSIX 時間) は、1970 年 1 月 1 日から経過した時間 (秒単位) です。

エポックから現在の日付までの時間を表示するには、次のように '%s' オプションを指定してコマンドを実行します。

 date +%s 

上記のコマンドはエポックタイムからの経過時間を表示します。以下の出力を考えてみましょう。

Linuxの日付

時間を現在の日付として変換するには、秒の先頭に「@」を付けます。以下のコマンドを考えてみましょう。

 date -d @122222222 

上記のコマンドは、時間 (秒単位) を人間が判読できる形式に変換します。以下の出力を考えてみましょう。

Linuxの日付

ファイルの最終変更時刻を表示する

「-r」オプションは、ファイルの最終変更時刻を表示するために使用されます。たとえば、ファイル「Demo1.txt」の最終変更時刻を表示するには、次のコマンドを実行します。

 date -r Demo1.txt 

上記のコマンドは、指定されたファイルが変更された時刻を表示します。以下の出力を考えてみましょう。

Linuxの日付

システムの日付と時刻を設定する

date コマンドを使用してシステムの時刻と日付を設定できます。ただし、date コマンドでシステムの日付と時刻を設定することはお勧めできません。 Linux のシステム クロックは sytemd-timesyncd サービスまたは ntp サービスを使用して同期されるためです。

date コマンドで時刻を設定するには、「--set= time」オプションを使用します。たとえば、日時を「2020年6月6日午後8時15分」に設定したい場合は、次のようにコマンドを実行します。

 date --set='20200606 22:15' 

上記のコマンドは、時間を指定どおりに設定します。以下の出力を考えてみましょう。

Linuxの日付