4

将来、カスタム日付の EPOCH 時間を返す bash 関数を作成する必要があります。

形式で日付と時刻を使用します。

date=20130122 # i.e. 2013 01 22
time=1455     # i.e. 14:55

これらの値で EPOCH 時間を取得できますか?

誰かが解決策を知っていますか?

4

3 に答える 3

12
date -d "$date $time" +%s

GNU date で動作します。

BSD date(Mac OS X に付属) の場合、コマンドは次のようになります。

date -j -f "%Y%m%d %H%M" "$date $time" +%s

-f指定された日付と時刻を解析するために必要です。デフォルトの形式では、同じ時刻を指定するには「012214552013」が必要です)

于 2013-01-22T14:57:16.207 に答える
6

簡潔な答え:

date --date "20130122 1455" +%s

これにより、エポックの日付が得られます。

または、変数を使用する場合は、日付と時刻を次のように置き換えます。

d=20130122
t=1455
date --date "$d $t" +%s

また、"date" と "time" を変数名として使用しないようにしてください。これらはコマンドと誤解されやすいためです (どちらも有効なコマンドです)。これにより可読性が向上します。

于 2013-01-22T14:58:12.190 に答える
2

これにつまずいた。BASH 3.2 では、「無効な日付」エラーが発生します。次のようにする必要があります。

date -d "2013-01-22 14:55" +%s
于 2013-11-09T15:15:48.417 に答える