我需要在PHP中获得下一个0900日期。例如:
我只对yyyymmdd格式的日期感兴趣。有关如何做到这一点的任何建议?我认为date
和strtotime
是我需要使用的功能,但我不确定如何处理“下一个0900”。
这不起作用:echo date('Ymd', strtotime('next 0900'));
答案 0 :(得分:3)
这可以为您提供下一个9:00
的日期:
date('Ymd', strtotime('9:00'));
编辑:不,实际上这不起作用。试试这个(不是那么简单,但有效):
// if the current time is greater than the time at 9:00, give 9:00 tomorrow
// Otherwise give 9:00 today
$nextnth = (mktime(9) < time()) ? strtotime('tomorrow 0900') : strtotime('today 0900');
echo date('Ymd', $nextnth);
答案 1 :(得分:0)
试试这个:
$x = strtotime('tomorrow 09:00') - strtotime("now");
if ($x > 86400) // If it's more than 1 day we're actually before 09:00, subtract 1 day
$x -= 86400;
echo "Now: ".date("Y-m-d H:i:s")."\r\n";
echo "Time until 0900: ".date("H\h i\m s\s", $x).".\r\n";
可替换地:
$x = (strtotime('tomorrow 09:00') - strtotime("now")) % 86400;
echo "Now: ".date("Y-m-d H:i:s")."\r\n";
echo "Time until 0900: ".date("H\h i\m s\s", $x).".\r\n";