A data do GNU parece estar funcionando corretamente.
error@underground ~/Downloads $ date -d "next monday"
Mon Aug 6 00:00:00 EDT 2012
error@underground ~/Downloads $ date -d "next tuesday"
Tue Aug 7 00:00:00 EDT 2012
error@underground ~/Downloads $ date -d "next wednesday"
Wed Aug 1 00:00:00 EDT 2012
error@underground ~/Downloads $ date --version
date (GNU coreutils) 8.15
Verifique se o seu sistema realmente possui a data, a hora e o fuso horário corretos.
Verifique também se você está executando uma versão relativamente recente do GNU coreutils. O comportamento que você descreveu foi um bug em versões antigas do coreutils que foi corrigido na versão 6.0 .
date: a command like date -d '2006-04-23 21 days ago' would print the wrong date in some time zones. (see the test for an example)