When someone accesses the auction page to display the current auctions, your script must me querying the database for auctions listed there, right? Well, when the script queries, do something like this:
SELECT *
FROM auctions
WHERE end_date < today()
NOTE I have not tested this, but the premise is that you can test the validity of the auction in real-time based on the current date.