75

エポック、つまり 1970 年 1 月 1 日からの経過日数で現在の日付の値を取得する方法。UNIXシェルスクリプトで解決策が必要です。

4

5 に答える 5

152

Unix Date コマンドはエポック時間で表示されます

コマンドは

date +"%s"

https://linux.die.net/man/1/date

編集:何人かの人々は、あなたが何日か尋ねたことを観察しているので、そのコマンドを86,400で割った結果です

于 2009-07-07T19:36:12.207 に答える
55

更新:以前にここに投稿された回答は、OPが彼にとって機能しないことを示したという理由だけで、利用できなくなったカスタムスクリプトにリンクされていdate +'%s'ました. 適切な解決策については、UberAlexの回答cadrian の回答を参照してください。要するに:

  1. Unix エポックからの数は、次のように使用date(1)します。

    date +'%s'
    
  2. Unix エポックからの日数については、結果を 1 日の秒数で割ります (二重括弧に注意してください!):

    echo $(($(date +%s) / 60 / 60 / 24))
    
于 2009-07-07T19:35:48.337 に答える
11
echo $(($(date +%s) / 60 / 60 / 24))
于 2009-07-07T19:30:32.530 に答える
2
echo `date +%s`/86400 | bc
于 2009-07-07T19:36:46.993 に答える
-3

使用している言語によっては、次のような単純なものになります

CInt(CDate("1970-1-1") - CDate(Today()))

皮肉なことに、多くのコンピュータ システムが使用するように、1900 年 1 月 1 日を「ゼロ日」として使用すると、昨日は 40,000 日目でした。

于 2009-07-07T19:27:46.137 に答える