The short answer is that there's no easy way to do it because nobody's ever wanted to do that before. WordPress has a lot of code to get posts for particular days, months, years, but nothing to get a range of dates that excludes "today".
Just because you think it should be simple doesn't mean that you are correct. ;)
Anyway, the only way I can think to do it would be to use a custom filter on the WHERE clause.
$current_month = date('m');
$current_year = date('Y');
$current_day = date('j');
$where .= " AND (YEAR(post_date)<>$current_year OR (YEAR(post_date)=$current_year AND MONTH(post_date)<>$current_month) OR (YEAR(post_date)=$current_year AND MONTH(post_date)=$current_month AND DAYOFMONTH(post_date)<>$current_day ) )";
Before you do your query_posts() or whatever, you do this:
After your query_posts, you need to turn off the filter again (so as not to mess up any other Loops), so you do this:
That might do the trick. No need for funky loop code then.