Php 每5分钟从00:00到23:55创建阵列时间列表
我想创建一个数组,包含从00:00到23:55的所有5分钟时间 在这个论坛上,我发现:Php 每5分钟从00:00到23:55创建阵列时间列表,php,datetime,time,Php,Datetime,Time,我想创建一个数组,包含从00:00到23:55的所有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 00:00'); $interval = new DateInterval('PT' . $m
$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 00:00');
$interval = new DateInterval('PT' . $minutes . 'M');
while($time < $endtime){
$time->add($interval);
echo $time->format('Y-m-d H:i');
}
$minutes=5;
$endtime=新日期时间('2012-01-01 09:00');
//修改了开始值以在结束时间之前获取内容:
$time=新日期时间('2012-01-01 00:00');
$interval=新的日期间隔('PT'.$minutes.M');
而($time<$endtime){
$time->add($interval);
echo$time->format('Y-m-dh:i');
}
我该如何改变这一点,以便输出可以与json一起使用
例如:-
$aArray={“00:00”:“00:00”,“00:05”:“00:05”,“23:55”:“23:55”}
我的问题不是创建json,而是创建一个没有日期部分的小时/分钟列表 试试看:
echo json_encode($Var);
这应该能奏效。。在此处查看手册:日期时间::格式的参数控制如下字段的选择:
$times = array();
for ($h = 0; $h < 24; $h++){
for ($m = 0; $m < 60 ; $m += 5){
$time = sprintf('%02d:%02d', $h, $m);
$times["'$time'"] = "'$time'";
}
}
$startTime = new \DateTime('2010-01-01 00:00');
$endTime = new \DateTime('2010-01-01 23:55');
$timeStep = 5;
$timeArray = array();
while($startTime <= $endTime)
{
$timeArray[] = $startTime->format('H:i');
$startTime->add(new \DateInterval('PT'.$timeStep.'M'));
}
echo json_encode($timeArray);
- Y:一年
- m:一个月
- d:白天
- 小时
- i:分钟
'H:i'
作为格式字符串
有关更多格式选项:请参见
如果不能使用DateTime函数,我会生成如下数组:
$times = array();
for ($h = 0; $h < 24; $h++){
for ($m = 0; $m < 60 ; $m += 5){
$time = sprintf('%02d:%02d', $h, $m);
$times["'$time'"] = "'$time'";
}
}
$startTime = new \DateTime('2010-01-01 00:00');
$endTime = new \DateTime('2010-01-01 23:55');
$timeStep = 5;
$timeArray = array();
while($startTime <= $endTime)
{
$timeArray[] = $startTime->format('H:i');
$startTime->add(new \DateInterval('PT'.$timeStep.'M'));
}
echo json_encode($timeArray);
$times=array();
对于($h=0;$h<24;$h++){
对于($m=0;$m<60;$m+=5){
$time=sprintf('%02d:%02d',$h,$m);
$times[“$time'”]=“$time'”;
}
}
你是最棒的,只有小特威克和特耶建议使用H:i。也许是这样的:
$times = array();
for ($h = 0; $h < 24; $h++){
for ($m = 0; $m < 60 ; $m += 5){
$time = sprintf('%02d:%02d', $h, $m);
$times["'$time'"] = "'$time'";
}
}
$startTime = new \DateTime('2010-01-01 00:00');
$endTime = new \DateTime('2010-01-01 23:55');
$timeStep = 5;
$timeArray = array();
while($startTime <= $endTime)
{
$timeArray[] = $startTime->format('H:i');
$startTime->add(new \DateInterval('PT'.$timeStep.'M'));
}
echo json_encode($timeArray);
$startTime=new\DateTime('2010-01-01 00:00');
$endTime=new\DateTime('2010-01-01 23:55');
$timeStep=5;
$timeArray=array();
while($startTime格式('H:i');
$startTime->add(new\DateInterval('PT'.$timeStep.M');
}
echo json_编码($timeArray);
必须先更新我的php版本才能使用这些DateTime类:(
所以现在我只是写出来,用15分钟的时间间隔,比如:
function json_select_starttijd_ronde()
{
$jsonStarttijd_ronde = array();
$jsonStarttijd_ronde['00:00'] = '00:00';
$jsonStarttijd_ronde['00:15'] = '00:15';
// etcetera
$jsonStarttijd_ronde['23:45'] = '23:45';
return $jsonStarttijd_ronde;
}
我编辑了我的问题,因为创建json本身不是我的问题。如果我不够清楚,很抱歉。那么我会使用一对嵌套循环来生成数组内容。请参阅我更新的答案。