2013-06-10 8 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) –

関連する問題