日付コマンド構文の解釈%

日付コマンド構文の解釈%

date +%Y%m%d -s "20081127"日付は2008年11月27日に設定されていますが、date +%Y -s "2008"時計は20:08に設定されているのはなぜですか?

ベストアンサー1

このフラグの存在に応じて、-sGNUdateコマンド(GNU coreutilsユーティリティセットの一部)を記述するとします。

フォーマット文字列は出力にのみ影響しますdate。このユーティリティは、指定されたフォーマット文字列を使用して指定された日付/時刻文字列を解析しません。

GNUには、date日付の解析に関する非常に複雑なルールがあります。ドキュメントの""または""の下info dateにこれを見つけることができます。info coreutils日付入力形式タイトル。

特に「日付文字列の純粋な数値「あなたは次のことに興味があります:

純粋な10進数の正確な解釈は、日付文字列内のコンテキストによって異なります。

10進数が次の形式の場合年月日日付文字列の前に他のカレンダー日付項目(カレンダー日付項目を参照)が表示されない場合イヤ年で読みます。mm月数とDD指定されたカレンダーの日付である月の日付。

10進数が次の形式の場合ええと日付文字列の前に他の時間項目が表示されない場合ヘヘ一日の時間で読まれるmm指定された時間の分です。 mm省略することもできます。

日付文字列の数字の左側にカレンダーの日付と時刻の両方が表示されますが、関連項目がない場合、数字は年を上書きします。

これに適用されます。みんなGNU coreutilsコレクションのユーティリティは、GNUだけでなく日付も解析できますdate

おすすめ記事