Linuxのdateコマンドの使用

Linuxのdateコマンドの使用

1. コマンドの紹介

date コマンドは、現在の時刻または指定された時刻を指定された形式で表示するために使用され、システム時刻を設定することもできます。多くのシェル スクリプトでは、時刻や日付をさまざまな形式で出力し、時刻と日付に基づいて操作を実行する必要があります。この場合、date コマンドを使用して完了できます。 Unix 系システムでは、日付は 1970 年 1 月 1 日 00:00:00 協定世界時 (UTC)、つまり Unix タイムスタンプから経過した秒数を表す整数として保存されます。

2. コマンド形式

日付 [オプション]... [+フォーマット]
日付 [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

このうち、FORMAT はフォーマット制御文字列であり、次の値を取ることができます。

%% キャラクター%
%a 曜日の略語(日~土)
%A 曜日のフルネーム(日曜日〜土曜日)
%b 月の略語(1月~12月)
%B 月のフルネーム(1月〜12月)
%c 日付と時刻 (2018 年 12 月 6 日木曜日 午前 9 時 43 分 53 秒 CST)。 date コマンドのみを入力すると、同じ結果が表示されます。
%C 世紀。 %Yに似ていますが、20などの最後の2桁は表示されません。
%d 月の日数 (01~31)
%D 日付、%m/%d/%y に相当、例: 12/06/18
%e 月の日付(1 から 31)。1 桁目はスペースで埋められ、%_d と同等です。
%F 日付。%Y-%m-%d に相当します (例: 2018-12-06)
%g 年の下2桁(yy)。例えば、2018は18を出力し、これは%yに相当します。
%G 年 (yyyy)
%h 月の略語(1月~12月)、%b に相当
%H 時間、24時間制(00〜23)
%I 時間、12時間形式 (01~12)
%j 年の通算日 (001~366)
%k 時間、24時間制(0〜23)。 1桁の数字はスペースを埋めます。%_Hと同じです。
%l 時間、12 時間形式 (1 ~ 12)。 1桁の数字はスペースを埋めます。%_Iと同じです。
%m 月 (01~12)
%M 分 (00~59)
%n 改行
%N ナノ秒 (000000000..999999999)
%p は AM または PM を表示します
%P は午前または午後を表示します
%r 時間を12時間形式で表示します (hh:mm:ss %p)
%R は時間と分を 24 時間形式で表示します。%H:%M と同じです。
%s 1970年1月1日00:00:00から現在までの秒数。 %S 秒数を表示します(00~59)
%t タブ文字 %T 時刻を 24 時間形式 (hh:mm:ss) で表示します。%H:%M:%S に相当します。
%u 曜日 (1..7)。 1 は月曜日を意味します %U 日曜日を週の最初の日とする年の週番号 (00..53)
%V 月曜日を週の初日とする年間の週番号 (01..53)
%w 曜日 (0-6)、0 は日曜日を表します %W 年の週、月曜日が週の最初の日です (00..53)
%x 日付 (mm/dd/yyyy)、例: 12/06/2018
%X 時間、%H:%M:%S に相当
%y 年の下2桁(2018年の場合は18)
%Y 年 (yyyy)
%z はタイムゾーンを +hhmm 形式で表示します (例: +0800)
%:z はタイムゾーンを +hh:mm 形式で表示します (例: +08:00)
%::z はタイムゾーンを +hh:mm:ss 形式で表示します (例: +08:00:00)
%Z の略語は、CST (中国標準時) などのタイムゾーン名を示します。
%h,%b 月の略語(1月~12月)
文字の埋め込みに関する注意: デフォルトでは、date コマンドは数値フィールドを 0 で埋めます。% の後には、次の埋め込み文字制御文字を使用できます。
- (ハイフン): パディングなし _ (アンダースコア): スペースでパディング 0 (ゼロ): 0でパディング ^ 可能な限り大文字で出力 # 可能な限り逆大文字で出力

3. コマンドオプション

-d, --date=STRING: 現在のタイムスタンプの代わりに、STRING で指定された時刻を表示します。
-f, --file=DATEFILE: DATEFILE ファイルの各行の時刻を表示します。
-I[TIMESPEC], --iso-8601[=TIMESPEC]: 指定された精度[TIMESPEC]でISO 8601標準形式で時間を表示します。 TIMESPEC のデフォルト値は「date」ですが、「hours」、「minutes」、「seconds」、または「ns」にすることもできます。
-r, --reference=FILE: ファイルの最終変更時刻を表示します -R, --rfc-2822: RFC-2822 で指定された形式で時刻を表示します。例: Wed, 05 Dec 2018 22:10:34 +0800
--rfc-3339=TIMESPEC: RFC 3339 で指定された形式で時間を表示します。精度は TIMESPEC で指定できます。TIMESPEC は、「date」、「seconds」、または「ns」の値を取ることができます。例: 2018-12-05 22:09:59.230994842+08:00
-s、--set=STRING: システム時間を STRING で指定された時間に設定します -u、--utc、--universal: 時間形式を協定世界時 (UTC) に表示または設定します --help: date コマンドのヘルプ情報を表示します --version: date コマンドのバージョン情報を表示します

4. 一般的な例

(1)Unixタイムスタンプを取得します。

日付 +%s
1544067345

(2)Unixタイムスタンプを読み取り可能な時刻に変換します。

日付 -d @1483525407
2017年1月4日水曜日 18:23:27 CST

日付 -d @1483525407 +"%F %T"
2017-01-04 18:23:27

注意: -d の後には有効な形式の日付が続く必要があるため、タイムスタンプは @ 文字で区別する必要があります。

(3)現在の時刻をフォーマットして出力します。

日付 +"%Y-%m-%d %H:%M:%S"
2018-12-06 10:57:33

# または日付 + "%F %T"

(4)時間の加算と減算の演算。

date +"%Y-%m-%d %H:%M:%S" //現在の時刻を表示しますdate -d "+1 日" +"%Y-%m-%d %H:%M:%S" //前の日付を表示しますdate -d "-1 日" +"%Y-%m-%d %H:%M:%S" //次の日付を表示しますdate -d "-1 か月" +"%Y-%m-%d %H:%M:%S" //前の月date -d "+1 か月" +"%Y-%m-%d %H:%M:%S" //次の月date -d "-1 年" +"%Y-%m-%d %H:%M:%S" //前の年date -d "+1 年" +"%Y-%m-%d %H:%M:%S" //次の年を表示します

(5)共通フォーマット変換

日付 -d "2009-12-12" +"%Y/%m/%d %H:%M:%S"
2009/12/12 00:00:00

(6)システム時刻を設定します。

日付 -s "2016-11-11 00:00:00"
2016 年 11 月 11 日金曜日 00:00:00 CST

日付
2016 年 11 月 11 日金曜日 00:00:05 CST

上記は Linux date コマンドの使用に関する詳細な内容です。Linux date コマンドの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • Linux gzipコマンドの使用
  • Linux userdel コマンドの使用法
  • Linuxコマンドをバックグラウンドで実行する方法
  • Linux statコマンドの使用
  • Linux lsコマンドの使用
  • Linux lnコマンドの使用
  • Linux の cut コマンドの説明
  • Linux bzip2 コマンドの使用

<<:  MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

>>:  MySQLは適切なストレージエンジンを選択します

推薦する

Vue コード強調プラグインの総合的な比較と評価

目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...

MysqlクエリJSON結果に関連する関数の概要

JSON 形式のフィールドは、MySQL 5.7 で追加された新しい属性ですが、基本的には文字列とし...

Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル

目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...

CSS における px、rem、em、vh、vw の違いを簡単に分析します

絶対長さピクセルpx はピクセル値であり、メートルやセンチメートルのような固定の長さです。相対的な長...

MySQL マスタースレーブ同期、トランザクションロールバックの実装原理

ビンログBinLog は、データベース テーブル構造の変更 (テーブルの作成、変更など) とテーブル...

Vue3デスクトップアプリケーションの構築方法

この記事では、Vite を使用して Vue 3 デスクトップ プロジェクトを開発する方法について説明...

Nginx は動的と静的の分離を実装します 例の説明

ウェブサイトの解析を高速化するために、動的ページと静的ページを異なるサーバーで解析して、解析速度を向...

モバイルウェブ画面適応(rem)

序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

Vueはテーブルページング機能を実装します

この記事では、テーブルページング機能を実現するためのVueの具体的なコードを例として紹介します。具体...

MySql 学習ノートにおけるトランザクション分離レベルの詳細な説明

背景トランザクションについて話すとき、誰もがそれに精通している必要があります。MySQL データベー...

Angular Cookie の読み取りおよび書き込み操作コード

Angular Cookie の読み取りおよび書き込み操作のコードは次のようになります。 var a...

Linux (Centos7) での redis5 クラスターの構築と使用方法の詳細な説明

目次1. 簡単な説明2. クラスターを作成する手順2.1. ディレクトリを作成する2.2. ソースコ...

ベスト HTML/CSS デザインおよび開発フレームワーク 15 選を紹介します

プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...

JS 関数とコンストラクタを簡単に理解する

目次1. 概要1.1 Functionコンストラクタを使用して関数を作成する1.2 機能と目的2. ...