それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

dateコマンドでタイムスタンプ(unix epoch)を表示する

bash で現在のタイムスタンプを取得する

unix時間などと呼ばれる int 秒ですね、int の timestamp をdate コマンドで取得する

date +%s

## => 1534329465

これで、int秒のタイムスタンプを表示するすることができる。%s は現在の時刻の整数値を返してくれるので、便利ですよね。整数値があればタイマーにも使えます。

man より

man を見ると、次のように記述されてる

 %s     seconds since 1970-01-01 00:00:00 UTC
 %N     nanoseconds (000000000..999999999)

ナノ秒も含めて、現在の時刻を表示する

date +%s.%N
#=>1534329695.149991000

ミリ秒がいいんだけど

大丈夫、ミリ秒でもいける、それは %05d 的なノリで %3N とすればいい

$ date +%s.%3N
#=>1534329697.436

GNU date です

もちろん GNU date です。macOS 等の場合は、 brewGNU core を入れてないと動かない。

追記

gnu date のフォーマットなので、strftime などでも使えると思います。

python で int秒で unix タイムスタンプを取得した例

import time
print(time.strftime("%s"))
Time.now.strftime('%s') #=> "1535055995"

などと strftime でも使えて便利。最近のタイム関数は nano秒を返したりするしさ。言語毎に関数の使い方を覚えるのは流石に面倒なのです。GNU date の strftime という言語を超えたOSを超えた共通規格ですから、これを覚えておくと便利ですよね。

参考資料