Bonsoir à tous, un petit probléme assez simple je pense, Mais qui pourtant me resiste depuis un petit bout de temps.
Apres maintes recherches sur le web, et avant que je finisse de griller le si peu de neurones qui me restent, je me décide a vous demander un petit coup de main
J'ai jamais été trs à l'aise avec les dates et heures en php
Les bases du problèmes:
Je souhaite comme l'enonce du sujet l'indique; trier un array qui comprend des datesTimes par tranche horaire.
c'est a dire matin, apres midi , soir et ce quel que soit la date du jour
ex:
$array = array(
array(
'nom'=>'conferance1',
'date'=>'2015-09-15 10:00',
),
array(
'nom'=>'conferance2',
'date'=>'2015-09-15 11:40',
),
array(
'nom'=>'conferance3',
'date'=>'2015-09-15 17:00',
)
);
je voudrais que ca devienne un truc dans le genre
$array = array(
'matin'=>array(
array(
'nom'=>'conferance1',
'date'=>'2015-09-15 10:00',
),
array(
'nom'=>'conferance2',
'date'=>'2015-09-15 11:40',
)
),
'apresMidi'=>array(
array(
'nom'=>'conferance3',
'date'=>'2015-09-15 17:00',
)
)
);
J'ai donc penser à creer une fonction qui me ferai ma petite tembouille pour en ressortir le résultat voulu; un truc du genre:
function setTrancheHoraire($array){
$data=array();
foreach($array as $key=>$value){
$time = date_create($value['date'], 'H:i');
if ($time >= '0:00' and $time < '6:00') {
$data['nuit'][] = $value;
} elseif ($time>='6:00' and $time < '13:00') {
$data['matin'][] = $value;
} elseif ($time >= '13:00' and $time < '19:00') {
$data['apresMidi'][] = $value;
} elseif ($time >= '19:00' and $time <= '24:00') {
$data['soir'][] = $value;
}
}
return $data;
}
evidemment faut comparer ce qui est comparable date et string ne fonctionne pas evidement...
Si une âme charitable passe dans le coin, je lui en serait bien reconnaissant. Merci d'avance
Bonjour,
il te suffit de remplacer ton
$time = date_create($value['date'], 'H:i');
par
<?php
$time = (new DateTime($value['date']))->format('H:i');
?>
Super, c'est génial, purée j'etais pas loin., mais des fois avec l'heure tardive ...
Je vais prendre la 2eme syntaxe, car plus courte et en plus, je peux lui coller n'importe quel format heure ou date.
Merci à vous deux