良い質問。
ドキュメントは、それが許されるべきであると言います。
info date 'Date input formats' 'Calendar date items'
数値の月の場合、ISO 8601形式の「YEAR-MONTH-DAY」が許可されます。ここで、YEARは任意の正の数です...
数値が10未満の場合は、先行ゼロが必要です。
YEARが68以下の場合、2000が追加されます。それ以外の場合、YEARが100未満の場合は、1900が追加されます。
32ビットシステムを使用していますか?
2038-01-20以降の日付でもエラーが発生しますか?
date -d '2038-01-20'
もしそうなら、それはGNU日付が32ビットの時間値を使用しているように聞こえます。
64ビットシステムを使用したり、別のツール(PerlのDateTimeやPythonのdatetimeなど)を使用したりする以外に、どうすればこれを修正できるかわかりません。
背景:
Unix時間は、整数値を使用して1970年1月1日からの秒数をカウントします。システムが32ビット整数を使用している場合、前方に21億秒(最大2038-01-19 03:14:02 UTC)および後方に21億秒(1901-12-13 20:45:52に戻る)しかカウントできません。 UTC)。
詳細については: