You do not really need a cron job, as it can be done when the visitor, or any visitor visits. In 99% of cases, this should be suitable, even if it seems a little inefficient - its how its done. Unless the is an underlying reason? You have not given any information or code about how the username and timestamp of interest is determined, so in my example I will hard code them assuming you will replace the values later.
So you can get the epoche time, of that date, 1473897600. This is how you should store your dates, and then convert it to something readible if your outputting it.
Then have a script that looks something like this
<?php
$user = "jimmy123";
$query = "SELECT date_expired FROM users WHERE user_username = '$user'"; //assumes date_expired is now a timestamp format
$expireDate = ... //run query and get single result
if(time()>$expireDate){
$query = "UPDATE users SET is_reserved = 0 WHERE user_name = '$user'";
//run query
}
?>