将 1 小时的过期时间添加到当前时间/日期


Add a 1-hour expiration to the current time/date

//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'));

你为什么不检查当前小时是否是 23 ?像这样的东西(我不确定三元运算符的PHP语法(:

$onehour = date("G) > 22 ? 0 : date("G) + 1;

然后,您还想更改当前日期,并检查是否更改了年份。

试试:

$t = strtotime('2015-10-27 11:19:04');
$d = date('Y-m-d H:i:s', $t );
echo $d . "<br/>";
$t = $t + 3600;
$d = date('Y-m-d H:i:s', $t );
echo $d . "<br/>";