2013-06-10 3 views
5

현재 시간에 15 분을 추가해야합니다. 예를 들면 : 현재는 20:48입니다. 15 분을 추가해야하므로 이제는 21:03이되지만 21:15를 설정해야합니다. 즉, 15,30,45,00의 배수 여야합니다. 도움말/도움이 도움이 될 것입니다.현재 시간에 15 분을 더하고 15 분 간격으로 스냅하십시오.

<?php 
$current_date_time = date('d/m/Y H:i:s'); 
$current_date = date("d/m/Y H:i", strtotime($current_date_time."+15 minutes")); 
echo $current_date;exit; 
+2

http://php.net/manual/en/datetime.add.php – ChrisW

+0

20:48 -> 21:03 -> 21:15? – Raptor

+0

@deceze : 제목을 읽었습니까 ?? ;-P (http://stackoverflow.com/questions/17022361/need-to-add-15-mintues-to-current-time#comment24601935_17022450에 대한 답변) – zerkms

답변

15

다음은 지난 간격으로 2 * $ 간격을 추가 할 수 있습니다처럼 당신이 보는 간단한 예

//what time is it? 
$t=time(); 

//how long is our interval? 
$interval=15*60; 

//we can calculate when the last interval started by subtracting $t % $interval 
$last = $t - $t % $interval; 

//so now we know when the next interval will start... 
$next = $last + $interval; 

echo "Next interval at ".strftime('%H:%M:%S', $next)."\n"; 

, 그러나 당신은 당신에 맞게이를 적용 할 수 있어야한다.

+7

누군가가 질문을 읽었습니다. 의사 한테 전화 해! – PeeHaa

+1

정말 환상적인 솔루션입니다! – Dale

+0

정말 고마워요. – Vimalnath

2

그냥 내 게시물을 수정합니다 :

$time = time(); 
    $last_time = ($time - ($time % (15 * 60))); 
    $in15mins = $last_time+ (15 * 60); 
    echo 'Now:  '. date('Y-m-d H:i') ."\n"; 
    echo 'in 15 mins: '. date('Y-m-d H:i', $in15mins) ."\n"; 

나는 그것을 설명하는 아주 자기 생각합니다. 그것을 최적화하고 사용하십시오.

+0

이것은 결함이 있습니다. 두 통화가 time()은 다른 결과를 반환합니다. –

+0

수정 됨. 힌트를 주셔서 감사합니다 :) –

+0

어쨌든 당신의 downvote 다시 복용에 대해? :) –

1
$current_date_time = date('d/m/Y H:i:s'); 
echo $current_date_time."<br>"; 
$current_date = date("d/m/Y H:i", strtotime($current_date_time."+15 minutes")); 
echo $current_date."<br>"; 
$minutes = date("i",strtotime($current_date)); 
$min = ''; 
if($minutes > 0 && $minutes <15){ 
    $min = 15 - $minutes; 
} else if($minutes > 15 && $minutes <30){ 
     $min = 30 - $minutes; 
} else if($minutes > 30 && $minutes <45){ 
     $min = 45 - $minutes; 
} else { 
     $min = 59 - $minutes; 
     $min++; 
} 

$newdate = date("d/m/Y H:i", strtotime($current_date."+".$min." minutes")); 

echo $newdate; 

위의 코드를 사용하십시오. 이것은 나를 위해 일하고있다.

0
$currentTimeStamp=strtotime('now'); 
$nextInterval=date("Y-m-d H:i", strtotime("+15 minutes", $currentTimeStamp)); 
dump($nextInterval); 
+0

스택 오버플로에 오신 것을 환영합니다! 이 코드 스 니펫이 문제를 해결할 수는 있지만 문제의 답이 왜 또는 어떻게 설명되는지는 설명하지 않습니다. [코드에 대한 설명을 포함하십시오] (// meta.stackexchange.com/q/114762/269535), 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. ** 플래그/검토 자 : ** [이 코드와 같은 코드 전용 답변의 경우, downvote, 삭제하지 마십시오!] (// meta.stackoverflow.com/a/260413/2747593) –

관련 문제