设置时间和日期并在PHP中添加它

时间:2012-01-17 19:56:22

标签: php datetime time

基本上我试图在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;
}

3 个答案:

答案 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');
}

答案 1 :(得分:1)

在几秒钟内完成所有操作,并使用php的time()date()mktime函数。

在UNIX时间中,日期存储为自1970年1月1日以来的秒数。

您可以使用date()呈现UNIX时间戳。

 $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()只能获得当前时间,但只是为了嘻嘻哈哈:http://us2.php.net/time

而且,存储在数据库中非常容易!

答案 2 :(得分: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);

其中$ date是你的约会对象。