//expiration $datetoday = date("F j, Y, G:i"); $expquery = mysql_query("SELECT a_expire FROM regform_admin WHERE status = 'Pending for payment'"); $row = mysql_fetch_array($expquery); $expirydate = $row['a_expire']; echo "$datetoday"; echo "$expirydate"; if ($datetoday == $expirydate) { $expirequery = mysql_query("UPDATE regform_admin SET status = 'Expired' WHERE status = 'Pending'"); $expirequery2 = mysql_query("UPDATE regform SET status = 'Expired' WHERE status = 'Pending'"); } //end expiration
Привет, У меня есть код для бронирования здесь. Моя проблема заключается в том, что если клиент делает бронирование в 23:30, и срок действия бронирования истекает в 00:30 (1 час), я сделал этот код:
$currentdate = date("F j, Y, G:i"); $onehour = date("G") + 1; $expire = date("F j, Y, $onehour:i");
$onehour
должен увеличиваться, но проблема в том, что бронирование 23:30 должно истечь в 24:30. Но после увеличения $ onehour, 23:30 приводит к 24:40. Которая моя программа не может читать с военного времени 12 утра 00:00, а не 24:00. У кого-нибудь есть предложения в моей проблеме? Благодарю. Извините за ленивый английский, я устал думать
$expire = date("F j, Y, H:i", strtotime('+1 hour'));
$expire = date("F j, Y, H:i", time()+3600); // 3600 sec in hour
$one_hour_from_now = strtotime('+1 hour');
Итак, все, что вам нужно, это:
$expire = date('F j, Y, G:i', strtotime('+1 hour'));
попробуй:
$t = strtotime('2015-10-27 11:19:04'); $d = date('Ymd H:i:s', $t ); echo $d . "<br/>"; $t = $t + 3600; $d = date('Ymd H:i:s', $t ); echo $d . "<br/>";
Почему бы вам просто не проверить, является ли текущий час 23? Что-то вроде (я не уверен в синтаксисе PHP троичного оператора):
$onehour = date("G) > 22 ? 0 : date("G) + 1;
Затем вы также хотите изменить текущий день и проверить, измените ли вы год.