naoki86star

このインターネットの片隅で、バルスと唱えてみる

unix dateコマンド

 unixていうかlinuxの今のdateコマンドである程度の日付け計算できることいまさら初めて知った。単独でyesterdayとか1days agoとかは知っていたけども、YYYYmmddを指定してそれを起点に計算してくれたんだ。*1

nao@Tokyo:~$ date --date="2hours"
Thu Jul  4 22:33:44 JST 2019
nao@Tokyo:~$ date --date="2hours ago"
Thu Jul  4 22:33:50 JST 2019
nao@Tokyo:~$ date --date="20190705 2days"
Sun Jul  7 00:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 2days ago"
Wed Jul  3 00:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 2hours"
Fri Jul  5 02:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 2hours ago"
Thu Jul  4 22:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 yesterday"
Thu Jul  4 00:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 tomorrow"
Sat Jul  6 00:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 1days ago"
Thu Jul  4 00:00:00 JST 2019

これも効いた

nao@Tokyo:~$ date --date="20190705 10:00:00 1days ago"
Thu Jul  4 10:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 next month"
Mon Aug  5 00:00:00 JST 2019
nao@Tokyo:~$ date --date="20190705 next year"
Sun Jul  5 00:00:00 JST 2020

覚えきれないオプションたくさん付かないのがとてもいいと思いました。

*1:今までpythonとかでonelinerで書いてた。。。