Думал, баг нашёл, но, похоже, опять опыт :-)
Причину, вроде, осознал и готов признать это фичей, а не багом. Но задачка изначально была из разряда со звёздочкой (recfix из состава recutils не валидировал файл, содержащий поле с датой 1984-04-01
).
Кому интересно пораскинуть мозгами, вот простенький показательный и слишком очевидный пример, к которому всё свелось.
$ TZ=Europe/Moscow date -d "31 Mar 1984"
Сб. марта 31 00:00:00 MSK 1984
$ TZ=Europe/Moscow date -d "1 Apr 1984"
date: invalid date ‘1 Apr 1984’
$ TZ=Europe/Moscow date -d "2 Apr 1984"
Пн. апр. 2 00:00:00 MSD 1984
Вроде бы и логично всё, но если не сталкиваться с таким (а столкнуться статистически довольно сложно), можно отхватить.
Например, человек, родившийся в этот день, сообщает, что, вроде бы у него был случай, когда некий сайт, требующий указать дату рождения, никак не хотел принимать таковую.