Хороший вопрос.
Документация говорит , что это должно быть разрешено.
info date 'Date input formats' 'Calendar date items'
Для числовых месяцев разрешен формат ISO 8601 `YEAR-MONTH-DAY ', где YEAR - любое положительное число, ...
Должен присутствовать начальный ноль, если число меньше десяти.
Если ГОД 68 или меньше, то 2000 добавляется к нему; в противном случае, если ГОД меньше 100, то к нему добавляется 1900.
Вы в 32-битной системе?
Вы получаете ошибку с датами после 2038-01-20, например,
date -d '2038-01-20'
Если это так, то звучит так, будто в GNU date используется 32-битное значение времени.
Я не уверен, как вы можете это исправить, кроме использования 64-битной системы или использования другого инструмента, например DateTime в Perl или datetime в Python.
Немного предыстории:
Unix times подсчитывает количество секунд с 1 января 1970 года, используя целочисленное значение. Если система использует 32-разрядные целые числа, она может считать только 2,1 миллиарда секунд вперед (до 2038-01-19 03:14:02 UTC) и 2,1 миллиарда секунд назад (обратно к 1901-12-13 20:45:52 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ).
Больше информации на: