$ date -d "Apr 1 2016 - 1 month" +%B
「March」を教えてくれます。4月の前の月は3月です。しかし、これを行うと:
$ date -d "$(date -d "Apr 1 2016") - 1 month" +%B
「2月」になります。これは私が持っているいくつかのより複雑なコードにバグを引き起こしています。これらの2つのコマンドが異なる結果を表示するのはなぜですか?
Thomasが説明したように、これはタイムゾーンによって異なります。私のDSTは3月13日に変更されます-あなたのDSTはおそらく変更されないので、同じ日付でこの動作が見られない可能性があります。
—
Tal
March