2012-01-17 23 views
0

基本的にPHPで時刻と日付を設定しようとしていますが、時間間隔を分単位で設定しています。開始時間と終了時間の間にループがありますそれぞれ。さまざまな方法で試してみましたが、日付を設定して追加する方法を考えているようです。時間と日付を設定してPHPに追加する

$minutes = 5; 
$endtime = new DateTime('2012-01-01 09:00'); 
$newendtime = $endtime->format('Y-m-d H:i'); 

$timedate = new DateTime('2012-01-01 09:00'); 

while($stamp < $newendtime) 
{ 
$time = new DateTime($timedate); 
$time->add(new DateInterval('PT' . $minutes . 'M')); 
$timedate = $time->format('Y-m-d H:i'); 

echo $timedate; 
} 
+0

予想される出力を示してください。 –

答えて

5
$minutes = 5; 
$endtime = new DateTime('2012-01-01 09:00'); 

//modified the start value to get something _before_ the endtime: 
$time = new DateTime('2012-01-01 8:00'); 
$interval = new DateInterval('PT' . $minutes . 'M'); 

while($time < $endtime){ 
    $time->add($interval); 
    echo $time->format('Y-m-d H:i'); 
} 
+0

+1をやっているより頑強なOOPの方法を教えています... – rdlowrey

+0

メイト・ザット・ワーズ、 –

0

この機能は、既存の日時に日付を追加できるようになる:

は、これが最善の私がこれまでに修正したスクリプトようです。また、これはHHを保持します:MM:SS

<?php 
function add_date($givendate,$day=0,$mth=0,$yr=0) { 
     $cd = strtotime($givendate); 
     $newdate = date('Y-m-d h:i:s', mktime(date('h',$cd), 
    date('i',$cd), date('s',$cd), date('m',$cd)+$mth, 
    date('d',$cd)+$day, date('Y',$cd)+$yr)); 
     return $newdate; 
       } 

?> 

使用方法:$日付があなたの日付である

add_date($date,12,0,0); 

1

すべてを数秒で行い、PHPのtime(),date()、およびmktimeの関数を使用します。 UNIXタイムで

は、日付が

1970年あなたがdate()でUNIXタイムスタンプをレンダリングすることができ、1月1日からの秒数として格納されています。

$time = time(); // gets current time 
$endtime = mktime(0,0,0, 1, 31, 2012); // set jan 31 @ midnight as end time 
$interval = 60 * 5; // 300 seconds = 5 minutes 
while($time < $endtime){ 
    $time += $interval; 
    echo date("M jS Y h:i:s a",$time) . "<br>"; // echos time as Jan 17th, 2012 1:04:56 pm 
} 

date参照: http://us3.php.net/manual/en/function.date.php(余りに素晴らしい日付形式の参照を含む)

mktime参照:http://us2.php.net/mktime

time()のみ現在時刻を取得し、ちょうど蹴りN」笑いのために:http://us2.php.net/time

そして、データベースに保存するのが簡単です!

+0

それは数秒で動作しますが、私にとってはあまりにも複雑になり、あなたの時間のおかげで、日付を設定することが難しいと感じました。私がPHPについてもっと知っていればもっと役に立つでしょう。私は –

関連する問題