2011-07-31 83 views
0

我试图通过执行以下操作来获取php中的下一分钟值。php mktime AMPM值错误

$one_minute_later = mktime(date("g"), date("i")+1, date("s"), date("n"), date("j"), date("Y")); 

$send_month = date("n", $one_minute_later); // Numeric representation of a month, without leading zeros 

$send_day = date("j", $one_minute_later); // Day of the month without leading zeros  

$send_year = date("Y", $one_minute_later); 

$send_hour = date("g", $one_minute_later); // 12-hour format of an hour without leading zeros 

$send_minute = date("i", $one_minute_later); // Minutes with leading zeros 00 to 59 

$send_ampm = date("A", $one_minute_later); 

但是,这样做总是会返回AMP的值AM。任何想法为什么?例如,当我在下午6:00运行此代码时,一分钟后应该返回6:01 PM。但是,它正在返回6:01 AM。

回答

1

因为mktime工作24小时。也许你已经注意到它不需要AM/PM参数?这是因为小时参数代表24小时制时间,而不是12个。使用date('H')代替date('g')

或者,只需使用time() + 60进行整个操作。

+0

你说得对!我完全错过了。谢谢你快速回答Deceze。对此,我真的非常感激。 –