基本上我试图在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');
}
答案 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是你的约会对象。