> 15:07:00
제가 직접 썼는데, 간단하지 않은 느낌이에요
<code>function get_minutes($dest){ $start1 =new DateTime(); $date = $start1 ->format('Y-m-d-H-i-s'); list($year,$mon,$day,$hour,$min,$sec) = explode('-',$date); $start2 = new DateTime($year.'-'.$mon.'-'.$day.' '.$hour.':'.$min); $needle = floor($min/10)*10 +$dest; $needle = $needle > $min ? $needle : $needle +10; $extra = $needle - $min; $timestr = '+ '.$extra.' minutes'; $start2->modify($timestr); return $start2->format('Y-m-d H:i:s'); } echo get_minutes(7);</code>
먼저 수요를 분석해 보겠습니다. 소요 시간은 7분, 10+7분, 20+7분, 30+7분, 40+7분, 나머지 57분은 다음 노드로 이동합니다. 7 포인트도 10분 간격입니다.
1970년 1월 1일 00:00:00 GMT부터 현재까지의 총 시간(초) 때문입니다.
처음 7분은 420초이고 이후 600초가 추가됩니다.
<code>function get_minutes($dest){ $start1 =new DateTime(); $date = $start1 ->format('Y-m-d-H-i-s'); list($year,$mon,$day,$hour,$min,$sec) = explode('-',$date); $start2 = new DateTime($year.'-'.$mon.'-'.$day.' '.$hour.':'.$min); $needle = floor($min/10)*10 +$dest; $needle = $needle > $min ? $needle : $needle +10; $extra = $needle - $min; $timestr = '+ '.$extra.' minutes'; $start2->modify($timestr); return $start2->format('Y-m-d H:i:s'); } echo get_minutes(7);</code>
정말 이상한 요구 사항입니다...
<code class="php">$time = time(); echo date('Y-m-d H:i:s',$time); $last = $time%600; $last = $last<420?420-$last:1020-$last; echo '<br />'; echo date('Y-m-d H:i:s',$time+$last);</code>
<code>function get_minutes($dest) { if ($dest >= 10) { throw new Exception('param error!'); } $mitute = date('i'); $unit = $mitute % 10;//个位分钟数 $offset = $dest - $unit; if ($dest <= $unit) { $offset += 10; } return date('Y-m-d H:i:00', strtotime('+' . $offset . ' minutes')); } echo get_minutes(7);</code>
예를 들어 설명하자면 편의상 7이 하드코딩되어 있으니 필요에 따라 바꾸시면 됩니다.