嗨假设我的时间戳为"2005-10-16 13:05:41".
我将如何创建一个变量,该变量将在下一次从该初始点开始上午10点时具有unixtime?
它会是这样的吗?
$timestamp = "2005-10-16 13:05:41";
$tenAMTime = strtotime("next 10am", $timestamp);
Run Code Online (Sandbox Code Playgroud)
我猜我有一些字符串可以用来做这件事吗?就像PHP文档中的"下一个星期四"示例一样.
你几乎拥有它......
$tomorrowAt10Am = strtotime('+1 day 10:00:00', $timestamp);
Run Code Online (Sandbox Code Playgroud)
编辑:这是基于您的问题的标题,第二天上午10点的时间戳.如果你想在上午10点之前的任何时间输出10点,那么你会想要添加一些额外的逻辑,正如thatidiotguy建议的那样.
EDIT2:
出于某种原因,如果将所有逻辑放在相同的strtotime方法中,它将无法工作,因此我创建了一个简单的函数.你可以很容易地将它放在一行中,但我将其保留为2以使其更清晰:
$time1 = strtotime('-2 days 09:59:59');
$time2 = strtotime('-2 days 10:00:01');
function next_10am($time)
{
$temp = strtotime('+1 day -10 hours', $time);
return strtotime('10:00', $temp);
}
echo next_10am($time1); // Outputs: 2012-09-08 10:00:00
echo next_10am($time2); // Outputs: 2012-09-09 10:00:00
Run Code Online (Sandbox Code Playgroud)