bashで真夜中を過ぎた現在のミリ秒を取得する方法はありますか? また、完全に bash で行う方法がある場合、そのタイムスタンプの精度はどれくらいですか?
質問する
8680 次
2 に答える
13
次のコマンドで今日の真夜中を取得できます。
date -d 'today 00:00:00'
UNIX スタンプ:
date -d 'today 00:00:00' "+%s"
したがって、違いを取得したい場合は、次のようにします。
midnight=$(date -d 'today 00:00:00' "+%s")
now=$(date "+%s")
diff_mills=$(( ($now - $midnight) * 1000 ))
秒を%s
示すよう*1000
に、ミリ秒を取得する必要があります。
(%N
ナノ秒):
midnight=$(date -d 'today 00:00:00' "+%s.%N")
now=$(date "+%s.%N")
diff_mills=$(echo "( $now - $midnight ) * 1000" | bc)
于 2013-04-23T12:44:51.250 に答える
3
明示的な日付の違いの代わりに mod を使用することもできます。たとえば、解像度が 1 秒の場合は次のようになります。
millis_since_midnight=$[1000 * ( ( `date "+%s"` - 28800 ) % 86400 )]
28800 は、秒単位の UTC からの PST オフセットであることに注意してください。このクラッジは、OSX のような BSD 時間があり、指定する機能がないシステムで役に立ちました--date 'today 00:00:00'
。
于 2013-07-23T18:44:48.917 に答える