Pertanyaan bagus.
The dokumentasi mengatakan itu harus diperbolehkan.
info date 'Date input formats' 'Calendar date items'
Untuk bulan numerik, format ISO 8601 `YEAR-MONTH-DAY 'diperbolehkan, di mana YEAR adalah angka positif, ...
Angka nol di depan harus ada jika jumlahnya kurang dari sepuluh.
Jika YEAR 68 atau lebih kecil, maka 2000 ditambahkan ke dalamnya; jika tidak, jika TAHUN kurang dari 100, maka 1900 ditambahkan ke dalamnya.
Apakah Anda menggunakan sistem 32-bit?
Apakah Anda mendapatkan kesalahan dengan tanggal setelah 2038-01-20 juga, mis
date -d '2038-01-20'
Jika demikian, sepertinya tanggal GNU menggunakan nilai waktu 32-bit.
Saya tidak yakin bagaimana Anda bisa memperbaikinya selain menggunakan sistem 64-bit atau menggunakan alat yang berbeda, misalnya DateTime dalam Perl atau datetime dengan Python.
Beberapa latar belakang:
Waktu unix menghitung jumlah detik dari 1 Januari 1970 menggunakan nilai integer. Jika sistem menggunakan bilangan bulat 32-bit, itu hanya dapat menghitung maju 2,1 miliar detik (hingga 2038-01-19 03:14:02 UTC) dan 2,1 miliar detik mundur (kembali ke 1901-12-13 20:45:52 UTC).
Informasi lebih lanjut di: