Sometimes the time set on your server isn’t accurate to what your local time is.
If you can’t change it, you can adjust it yourself.
$today = date('Y-m-d-G');
$today = strftime("%Y-%m-%d-%H", strtotime("$today -5 hour"));
If your server thought it was 12 midnight, but it was really 7 pm, this will roll the $today variable back five hours to be correct.