This problem was reproduced in several versions of 'date', and the oldest one I could reproduce the problem was 6.10.
But it doesn´t happen in older ones (tried on 'date' 5.97) Examples: # ./date +%Y --date=20101018 2010 # ./date +%Y --date=20101016 2010 # ./date +%Y --date=20101017 ./date: invalid date `20101017' # ./date +%Y --date=20101018 2010 # ./date --version date (GNU coreutils) 8.5 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. This seems to happen in several other dates: # date +%Y%m%d --date=20101017 date: invalid date `20101017' # date +%Y%m%d --date=20131020 date: invalid date `20131020' # date +%Y%m%d --date=20111016 date: invalid date `20111016' # date +%Y%m%d --date=20141019 date: invalid date `20141019' Same command on 'date' 5.97 -- Problem only with the first date: $ date +%Y%m%d --date=20101017 date: invalid date `20101017' $ date +%Y%m%d --date=20131020 20131020 $ date +%Y%m%d --date=20111016 20111016 $ date +%Y%m%d --date=20141019 20141019 $ date --version date (GNU coreutils) 5.97 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. PS: The dates correspond to the third Sunday of October.