Restrict query_posts by Date?

I’ve done something in the past using custom fields. Maybe this can get you going in the right direction? This is done directly after the <?php while ( have_posts() ) : the_post(); ?>

<?php
    $currentdate = date("Ymd");
    $expirationdate = genesis_get_custom_field('_racedate');
    $expirestring = str_replace("-","",$expirationdate);
        if (is_null($expirationdate)) {
            $expirestring = '30005050'; //MAKE UN-EXPIRING POSTS ALWAYS SHOW UP;

        } else {

        if (is_array($expirationdate)) {
            $expirestringarray = implode($expirationdate);
        }

        } //else
        if ( $expirestring + 1 > $currentdate ): ?>

This will actually show up everything that has been posted (in my case, future races) and a day after the “racedate”, the post would disappear from the loop (it still remains in the dashboard).