chiwata’s blog

たまに技術の話をします。

dateコマンドの謎

同期と話してて、

$ date '+%Y/%m/%d/-%H:%M' -d '201910180000  1day ago'
date: invalid date ‘201910180000  1day ago’

なんでこうなるの?と聞かれたので調べた、これは気にしたことなかった

date コマンドの +フォーマット は出力フォーマットなので、入力形式ではない

$ date '+%Y/%m/%d/-%H:%M' -d '201910180101  1day ago'
20191017/12/31/-00:00

こうしたときに気が付いたが、 20191018010120191017/12/31 と解釈されているのが原因だった

こういうこと、自分だけだとほとんど気にしないのでありがたい