2012-03-23 98 views

回答

3

你可以做这样的事情。

$nextTime = mktime(16, 0, 0); 
if($nextTime < time()){ 
    $nextTime += 86400; 
} 
+0

完美,谢谢! – dzm 2012-03-23 03:57:59

4

打电话给strtotime("4pm")会给你今天下午4点的时间。如果是已经过去的下午4点,你可以添加60*60*24给定的时间戳

// Example blatantly copied from AndrewR, but it uses strtotime 
$nextfourpm = strtotime("4pm");  
if ($nextfourpm < time()) { 
    $nextfourpm += 60*60*24; 
} 
+0

我不知道strtotime或mktime是否更快。 – AndrewR 2012-03-23 01:01:36

+0

我不得不说'mktime'要快得多,没有解析任何东西只是一些整数乘法/加法。这只是我头上的第一件事。我会使用'mktime'。 – 2012-03-23 01:02:45

+0

谢谢胡安 - 我要和AndrewR一起去,但是也投了你的票。 – dzm 2012-03-23 03:57:06

0

现在是15:20

你想明天16:22

最好的办法是创建功能通过发布时间+和分钟+你想超越 - 纯粹的时间差异)。通过这种方式,PHP不会犯任何错误。而PHP在处理日期和内容时可能会犯错误。

//stuff to post.. 
$hour = 25; 
$minute = 2; 

      function makemydate($hour,$minute) 
      { 
       if($hour > 0) 
       { 
       $hour = ($hour*3600); 
       } 

       if($minute > 0) 
       { 
       $minute = ($minute*60); 
       } 

      $add = ($hour+$minute); 
      $now = time(); 

      $unixtimestamp = ($now+$add); 
      return $unixtimestamp; 
      } 

    echo makemydate; 

你去那里的Unix时间戳。您需要任何指定时间:P

相关问题