0

エポック時間を人間が読める形式に変換したい。インターネットで検索して見つけた

例: date -d @1270787111.

デートの説明書を読み直しました。

-d, --date=STRING '今' ではなく STRING で記述された表示時間

DATE STRING --date=STRING はほとんど無料です...

この形式については何も見つかりませんでした。私は何かが恋しいですか?

4

3 に答える 3

2

あなたが参照している同じ「DATE STRING」セクションは、次の文で終わります。

日付文字列の形式は、ここで簡単に文書化するよりも複雑ですが、info ドキュメントで完全に説明されています。

つまり、「info」ページを参照する必要があります。これを行うには、端末に入力するinfo dateか、オンラインでこれらのドキュメントを参照してください。たとえば、入力形式については、ここで詳しく説明されています。

では、なぜ接頭辞@が必要なのdate -d @1270787111ですか? @マニュアルページの例で言及されている特定の形式は、§28.8 で説明されています

エポックから 28.8 秒

数字の前に@', it represents an internal time stamp as a count of seconds. The number can contain an internal decimal point (either.'を付けると、または `,'); 内部表現でサポートされていない余分な精度は、マイナスの無限大に向かって切り捨てられます。このような数値は、完全なタイム スタンプを指定するため、他の日付項目と組み合わせることはできません。

内部的には、コンピューター時間はエポック (明確に定義された時点) からの秒数として表されます。GNU および POSIX システムでは、エポックは 1970-01-01 00:00:00 UTC であるため、@0' represents this time,@1' は 1970-01-01 00:00:01 UTC を表します。GNU および他のほとんどの POSIX 準拠システムは、負のカウントを使用して POSIX の拡張などの時間をサポートしているため、'@-1' は 1969-12-31 23:59:59 UTC を表します。

従来の Unix システムは、32 ビットの 2 の補数の整数で秒をカウントし、1901-12-13 20:45:52 から 2038-01-19 03:14:07 UTC までの時間を表すことができます。最新のシステムでは、ナノ秒のサブカウントで 64 ビットの秒数を使用し、宇宙の既知の寿命のすべての時間を 1 ナノ秒の分解能で表すことができます。

ほとんどのホストでは、これらのカウントはうるう秒の存在を無視します。たとえば、ほとんどのホストでは、@915148799' represents 1998-12-31 23:59:59 UTC,@915148800' は 1999-01-01 00:00:00 UTC を表し、その間のうるう秒 1998-12-31 23:59:60 UTC を表す方法はありません。

于 2013-06-07T14:34:30.053 に答える