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

时间:2011-08-18 16:02:19

标签: php

//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过期。但在增加$ 1小时后,23:30结果进入24:40。因为上午12点的军事时间是00:00而不是24:00,我的程序无法读取。谁能对我的问题有任何建议?谢谢。抱歉懒惰的英语我厌倦了思考

5 个答案:

答案 0 :(得分:11)

$expire = date("F j, Y, H:i", strtotime('+1 hour'));

答案 1 :(得分:2)

$expire = date("F j, Y, H:i", time()+3600); // 3600 sec in hour

答案 2 :(得分:0)

$one_hour_from_now = strtotime('+1 hour');

所以,你所需要的只是:

$expire = date('F j, Y, G:i', strtotime('+1 hour'));

答案 3 :(得分:0)

试一试:

$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/>";

答案 4 :(得分:-1)

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

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

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