日付コマンドのソース 基本 US 形式

日付コマンドのソース 基本 US 形式

dateアメリカのロケールには非常に奇妙な基本形式があるようです。Thu Jul 9 17:00:00 EDT 2020空白で満たされた月の日付を使用し(24時間!)、時間を月と日と年の間に入れます。

これも一種の基準ですか?それはどこから出たの?

答え1

フォーマットは標準で定義されていますが、標準では指定されていませんen_USPOSIXでは、POSIX ロケールにのみ興味があり、状態

書式指定オペランドが指定されていない場合、POSIXロケールの出力は以下を指定するのと同じでなければなりません。

date "+%a %b %e %H:%M:%S %Z %Y"

歴史の中(例えばUnix V7)では、date以下を使用します。asctime、別の形式を使用します。

Sun Sep 16 01:03:52 1973\n\0

POSIX 形式は、時間と年の間にタイムゾーンを追加します。

POSIXで定義した形式の履歴はわかりませんが、asctimeわざわざベースの形式であるとします。

asctime推論が必ずしも明確ではないとしても、歴史は少なくとも探求することができます。

に従ってV3ctime生成された出力は次の形式です。

Oct  9 17:32:24\0

V4は平日と年を追加します。、上記の形式を中心に使用されている形式を作成しますasctime

Sun Sep 16 01:03:52 1973\n\0

したがって、その形態は「有機的に」発展したようです。最初は月、日付、時刻のみが含まれます。曜日と年を追加した後は、既存の形式を保持しているように見えるので、前に曜日が追加され、最後に年が追加されます。最後にタイムゾーンを追加する時、年度より時間に関連があると見ることもできますね…。

関連情報