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で書いてた。。。