【Linuxコマンド徹底解説】 153. dateコマンドを使ってシステムの時刻と日付を管理する

日付

システムの時刻と日付を表示または設定する

概要

date [OPTION]... [+FORMAT]

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

主目的

  • 時間を選択した形式に変換します。デフォルトは現在です。
  • システム時刻を設定します。

パラメータ

format: 出力時刻形式。

format使用可能なエスケープ シーケンスは次のとおりです。

  • %%パーセント記号
  • %aローカルの短縮曜日名 (例: Sun)
  • %A現地の曜日の完全な名前 (例: 日曜日)
  • %bローカルで省略された月の名前 (例: Jan)
  • %B現地の完全な月名 (例: 1 月)
  • %c現地の日付と時刻 (例: 2005 年 3 月 3 日木 23:05:25)
  • %C%Y と同様の世紀ですが、最後の 2 桁は省略されます (例: 20)
  • %d日付 (例: 01)
  • %D日付、%m/%d/%y に相当
  • %e日付。形式はスペースで埋められます。%_d に相当します。
  • %F完全な日付; %+4Y-%m-%d に相当
  • %g週の西暦の下 2 桁を数える ISO 規格
  • %G年間の週を数える ISO 標準。通常は %V にのみ役立ちます。
  • %h%b と同等
  • %H時、範囲 (00…23)
  • %I時、範囲 (00…23)
  • %j年間の曜日、範囲 (001 ~ 366)
  • %k時間、スペースで埋め込み、範囲 (0...23)、%_H と同等
  • %l時間、スペースで埋め込み、範囲 (1 ~ 12)、%_I と同等
  • %m月、範囲 (01…12)
  • %M分、範囲 (00…59)
  • %n改行文字
  • %Nナノ秒、範囲 (000000000…000000000)
  • %p現地の午前または午後を示すために使用されます。不明な場合は空白になります。
  • %P%p に似ていますが、小文字です
  • %q四半期、範囲 (1 ~ 4)
  • %r12 時間単位の現地時刻 (例: PM11:11:04)
  • %R24 時間/分; %H:%M に相当
  • %s1970 年 1 月 1 日 00:00 UTC からの秒数
  • %S秒、範囲 (00…60)
  • %t水平タブ
  • %T時間; %H:%M:%S に相当
  • %u曜日 (1 ~ 7)、1 は月曜日を表します
  • %U日曜日から始まる年の週番号 (00…53)
  • %VISO 標準の週の数え方。月曜日を週の始まりとして使用します (01…53)
  • %w曜日 (0…6)、0 は日曜日を表します
  • %W月曜日から始まる年の週番号 (00…53)
  • %xローカル日付表現 (例: 12/31/99)
  • %X現地時間表現 (例: 23:13:48)
  • %y西暦の下 2 桁、範囲 (00 ~ 99)
  • %Y
  • %z+hhmm 形式の数値タイムゾーン形式 (例: -0400)
  • %:z+hh:mm 形式の数値タイムゾーン形式 (例: -04:00)
  • %::z+hh:mm:ss 形式の数値タイムゾーン形式 (-04:00:00 など)
  • %:::z数値のタイムゾーン形式。必要な精度を表示するために以前の形式と比較して「:」を追加します (-04、+05:30 など)。
  • %Zタイムゾーンの略称(EDTなど)

デフォルトでは、日付の数値フィールドはゼロで埋められます。「%」の後に次のオプションの記号を続けることができます。

  • -(ハイフン) 対応するフィールドに値を入力しないでください。
  • _(アンダースコア) 対応するフィールドにスペースを入力します。
  • 0(数値 0) 対応するフィールドに数値 0 を入力します。
  • +数値 0 を入力し、4 桁を超える場合は将来の年の前に「+」記号を追加します。
  • ^許可されている場合は大文字を使用してください。
  • #許可されている場合、デフォルトの大文字を小文字に変換し、デフォルトの小文字を大文字に変換します。

フラグの後には、10 進数などのオプションのフィールド幅があり、次にオプションの修飾子 (使用可能な場合) を使用して、ロケールの代替表現を使用するには E を使用し、ロケールの代替表現を使用するには O を使用します

オプション

ロングオプションはショートオプションと同等です

  • -d, --date=STRING文字列を解析し、指定された形式で出力します。文字列を「現在」にすることはできません。
  • --debug解析された日付に注釈を付け、疑わしい使用法を標準エラーに送信します。
  • -f, --file=DATEFILE--date と同様で、DATEFILE から一度に 1 行を処理します。
  • -I[FMT], --iso-8601[=FMT]ISO 8601 形式に従って出力されます。FMT は、「日付」 (デフォルト)、「時間」、「分」、「秒」、「ns」です。
    例: 2006-08-14T02:34:56-06:00
  • -R, --rfc-emailRFC 5322 形式に従って出力します。例: Mon, 14 Aug 2006 02:34:56 -0600
  • --rfc-3339=FMTRFC 3339 形式に従って出力されます。FMT は、「日付」、「秒」、「ns」のいずれかになります。例
    : 2006-08-14 02:34:56-06:00
  • -r, --reference=FILEファイルの最終変更時刻を表示します。
  • -s, --set=STRING文字列に基づいてシステム時刻を設定します。
  • -u, --utc, --universal協定世界時 (UTC) を表示または設定します。
  • --helpヘルプメッセージを表示して終了します。
  • --versionバージョン情報を表示して終了します。

戻り値

不正なオプションまたは不正なパラメータが指定されない限り、戻りステータスは成功です。

  • フォーマットされた出力:

    • date +"%Y-%m-%d"
      出力: 2009-12-07
  • 昨日の日付を出力します。

    • date -d "1 day ago" +"%Y-%m-%d"
      出力: 2012-11-19
  • 2秒後の出力:

    • date -d "2 second" +"%Y-%m-%d %H:%M.%S"
      出力: 2012-11-20 14:21.31
  • 伝説の 1234567890 秒:

    • date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%M:%S"
      または
    • date -d@1234567890 +"%F %T"
      出力: 2009-02-13 23:02:30
  • 時間形式の変換:

    • date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
      出力: 2009/12/12 00:00.00
  • Apache形式の変換:

    • date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
      出力: 2009-12-05 00:00.37
  • フォーマット変換後のタイムトラベル:

    • date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
      出力: 2007-12-05 00:00.37
  • 時間の加算と減算の演算:

    • date +%Y%m%d# 年、月、日を表示します
    • date -d "+1 day" +%Y%m%d# 前日の日付を表示
    • date -d "-1 day" +%Y%m%d# 翌日の日付を表示
    • date -d "-1 month" +%Y%m%d# 前月の日付を表示
    • date -d "+1 month" +%Y%m%d# 翌月の日付を表示
    • date -d "-1 year" +%Y%m%d# 前年の日付を表示
    • date -d "+1 year" +%Y%m%d# 翌年の日付を表示
  • 時間の設定:

    • date -s# 現在時刻を設定します。設定できるのは root 権限のみで、他のユーザーは表示のみ可能です。
    • date -s 20120523# 20120523 に設定すると、特定の時刻が 00:00:00 に設定されます。
    • date -s 01:01:01# 特定の時間を設定しても日付は変更されません。
    • date -s "01:01:01 2012-05-23"# これにより、すべての時間を設定できるようになります
    • date -s "01:01:01 20120523"# これにより、すべての時間を設定できるようになります
    • date -s "2012-05-23 01:01:01"# これにより、すべての時間を設定できるようになります
    • date -s "20120523 01:01:01"# これにより、すべての時間を設定できるようになります
  • 場合によっては、一連のコマンドにかかる時間を確認する必要があります。

    start=$(date +%s)
    nmap wangchujiang.com &> /dev/null
    end=$(date +%s)
    difference=$(( end - start ))
    # 显示执行时间
    echo $difference seconds.
    
  • 例えば(現在時刻:2019/05/19)のように時刻付きの文字列を出力することを考えた場合:

    • 一般的に使用される方法:
      echo "Current time: $(date +"%Y/%m/%d")"
      
    • 別の方法:
      suffix='Current time:'
      # 注意如果换成单引号就不能替换变量了。
      date +"${suffix} %Y/%m/%d"
      

注: このコマンドは、GNU coreutils パッケージ内のコマンドです。関連するヘルプ情報については、man -s 1 dateまたは を参照してくださいinfo coreutils 'date invocation'

ゼロから学ぶpython

[Pythonをゼロから学ぶ] 92. Pythonのリクエストライブラリを使用してHTTPリクエストを送信し、応答を処理する
[Pythonをゼロから学ぶ] 91. デコレータと辞書を使用して単純なWebアプリケーションでリクエストパスを管理する
[Pythonをゼロから学ぶ] 93. 辞書を使用する管理 リクエストパス
【ゼロから学ぶPython】 89. WSGIを使ってシンプルで効率的なWebサーバーを構築する
【ゼロから学ぶPython】 88. WSGIインターフェースの詳細解説:シンプルで効率的なWeb開発を実現する
【ゼロから学ぶPython】 87. 手動PythonでHTTPサーバーを構築する 実装とマルチスレッド同時処理
【Pythonをゼロから学ぶ】 86. HTTPプロトコルとブラウザとサーバー通信におけるその役割を深く理解する
【Pythonをゼロから学ぶ】 85. 並列コンピューティング技術の応用Pythonのプロセスプールで
【Pythonをゼロから学ぶ】】 84. スレッドとプロセスを深く理解する
【Pythonをゼロから学ぶ】 83. Pythonのマルチプロセスプログラミングとプロセスプールの利用
【Pythonをゼロから学ぶ】 82. チャットプログラムマルチスレッドに基づいた実装
[ゼロから学ぶ Python] 81. Python の詳細 スレッド通信とキューの応用
[ゼロから学ぶ Python] 80. グローバル変数へのスレッド アクセスとスレッド セーフティの問題
[ゼロから学ぶ Python] 79. スレッド アクセスグローバル変数とスレッド安全性の問題
[Pythonをゼロから学ぶ] 78. ファイルダウンロード事例
[Pythonをゼロから学ぶ] 77. TCPサーバーのプログラミングと注意事項
[Pythonをゼロから学ぶ] 76. サーバーとクライアント: ネットワーク通信の主要コンポーネント
[Pythonを学ぶ] 75. TCPプロトコル:信頼性の高いコネクション指向の伝送層通信プロトコル
【ゼロから学ぶPython】 74. UDPネットワークプログラム:ポートの問題とバインディング情報を詳しく解説
【ゼロから学ぶPython】 73. UDPネットワークプログラム – データの送信
【ゼロから学ぶPython】 72. ソケット通信とソケットの作成方法
【ゼロから学ぶPython】 71. ネットワークポートとその機能
【ゼロから学ぶPython】 70. ネットワークの通信方式とその応用:ルータへの直接通信から複数のネットワーク接続まで
【ゼロから学ぶPython】 69. ネットワーク通信とIPアドレス分類分析
[Pythonをゼロから学ぶ] 68. Python正規表現の貪欲モードと非貪欲モード
[Pythonをゼロから学ぶ] 67. Pythonのreモジュール: 正規置換と高度なマッチング技術
[Pythonをゼロから学ぶ] 66 .正規表現を深く理解する:パターンマッチングとテキスト処理のための強力なツール
【Pythonをゼロから学ぶ】 65. Pythonの正規表現修飾子とその応用を詳しく解説
【Pythonをゼロから学ぶ】 64. re.compileメソッドPython正規表現で使い方を詳しく解説
【ゼロから学ぶPython】 63. 正規表現におけるre.Matchクラスとその属性・メソッドの紹介
【ゼロから学ぶPython】 62. Python正規表現:強力な文字列マッチングツール
【学ぶ】ゼロから学ぶPython】 61. Pythonのプロパティ属性の詳しい解説と応用例
【ゼロから学ぶPython】 60. Exploration Generator:反復のための柔軟なツール
【ゼロから学ぶPython】 59. Iterator:データトラバーサルを最適化するための効率的なツール
【 Pythonをゼロから学ぶ】58. Pythonのカスタム例外と例外の発生方法
【ゼロから学ぶPython】 57. Pythonでwithキーワードを使ってリソースを正しく閉じる
【ゼロから学ぶPython】 56. プログラミングにおける例外処理の重要性と応用
【ゼロから学ぶPython】 55. Pythonのシリアライズとサム デシリアライズ、 JSONとpickleモジュールの応用
【ゼロから学ぶPython】 54. メモリへのデータの書き込み
【ゼロから学ぶPython】 53. CSVファイルとPythonのCSVモジュール
【ゼロから学ぶPython】 52. ファイルの読み書き - Pythonファイル操作ガイド
[ Pythonをゼロから学ぶ】 51. Pythonでファイルとそのア​​プリケーションを開く・閉じる
【Pythonをゼロから学ぶ】 49. Pythonのオブジェクト関連の組み込み関数とその使い方
【Pythonをゼロから学ぶ】 48. 継承と多重化について詳しく解説Python の継承
[Python をゼ​​ロから学ぶ] 47. オブジェクト指向プログラミングにおける継承の概念と基本的な使用法
[Python をゼ​​ロから学ぶ] 46. Python デザイン パターンの __new__ および __init__ メソッドとシングルトンの分析
[Python をゼ​​ロから学ぶ] 45 . Pythonのクラスメソッドと静的メソッド
【ゼロから学ぶPython】 44. オブジェクト指向プログラミングのプライベートプロパティとメソッド
【ゼロから学ぶPython】 43. Pythonのオブジェクト指向プログラミングの例 プロパティとクラス属性
【ゼロから学ぶPython】 42. Pythonの組み込みプロパティとメソッド
【ゼロから学ぶPython】 41. Pythonの魔法のメソッド(2)
【ゼロから学ぶPython】 40. Pythonの魔法のメソッド(1)
【ゼロから学ぶPython】 39. オブジェクト指向の基本構文と応用例
【ゼロから学ぶPython】 38. Pythonパッケージの使い方とインポート方法
【ゼロから学ぶPython】 37. Pythonカスタムモジュールの使い方と注意点
【ゼロから学ぶPython】ゼロから学ぶ】Pythonを学ぶ】 36. Pythonでサードパーティパッケージ管理にpipを使う方法とテクニック
【ゼロから学ぶPython】 35. Pythonの共通システムモジュールとその使い方
【ゼロから学ぶPython】 34. インポートの詳細説明Pythonモジュールの使い方と使い方
【ゼロからPythonを学ぶ】 33. デコレータの役割(2)
【ゼロからPythonを学ぶ】 32. デコレータの役割(1)
【ゼロからPythonを学ぶ】 31. 上位概念を深く理解するPythonで関数とクロージャを並べる
【ゼロから学ぶPythonより】 30. 再帰関数と無名関数を深く理解する
【ゼロから学ぶPython】 29. 「関数パラメータの詳細解説」 - Python関数パラメータのさまざまな使い方を理解する
【 Pythonをゼロから学ぶ】28. Python変数のローカル変数とグローバル変数
【Pythonをゼロから学ぶ】 27. Pythonの関数と入れ子呼び出しの使い方
【Pythonをゼロから学ぶ】 25. 関数:コード作成を効率化するツール
【ゼロから学ぶPython】 24. Pythonの文字列操作とトラバーサルメソッド
【ゼロから学ぶPython】 23. Pythonのセット(set)の使い方とよく使う操作
【ゼロから学ぶPython】 22. 追加、削除、変更、 Pythonのクエリ辞書変数
[ゼロから学ぶPython] 21. Pythonのタプルと辞書
【ゼロから学ぶPython】 20. Pythonのリスト操作スキルと例題
【ゼロから学ぶPython】 19. リストのループとリストのネストの応用
【ゼロから学ぶPython】 18. Pythonのリストの基本操作を詳しく解説(1)
【ゼロから学ぶPythonより】 17. Pythonの文字列のフォーマット方法(2)
【ゼロから学ぶPython】 16. Pythonの文字列のフォーマット方法(1)
【ゼロから学ぶPython】 15. 文字列と文字列を深く理解する文字セットエンコーディング
【ゼロから学ぶPythonから】14. Pythonの文字列に対するよくある操作(2)
【ゼロから学ぶPython】13. Pythonの文字列に対する共通の操作(1)
【ゼロから学ぶPython】12. Pythonの文字列の操作と応用
【 Pythonをゼロから学ぶ】 11. Pythonのループ文と制御フロー
【Pythonをゼロから学ぶ】 10. Pythonの条件文とifの入れ子を詳しく解説
【Pythonをゼロから学ぶ】 09. Pythonの条件判定文
【Pythonをゼロから学ぶ】 08 . Pythonでわかるビット演算子、演算子の優先順位
【ゼロから学ぶPython】 07. Pythonの演算子:代入演算子、比較演算子、論理演算子を詳しく解説 【ゼロ
から学ぶPython】 06. Pythonで算術演算子を使って計算や文字列の連結をする 【ゼロから学ぶPython
】スクラッチ] Python ] 05. Python の出力と入力
【ゼロから学ぶ Python】 04. Python プログラミングの基礎: 変数、データ型、識別子
【ゼロから学ぶ Python】 03. Python 対話型プログラミングとコメントの詳細説明
【Pythonをゼロから学ぶ】 02. 開発ツールの紹介
【Pythonをゼロから学ぶ】 01. Pythonのインストールと設定

おすすめ

転載: blog.csdn.net/qq_33681891/article/details/132965322