3 votes

Obtenir les noms des jours entre deux dates en PHP

Comment obtenir le nom des jours entre deux dates en PHP ?

Entrée :

Date de début : 01-01-2013
Date de fin : 05-01-2013

Sortie :

Mardi
Mercredi
Jeudi
Vendredi
Samedi

Code essayé

$from_date ='01-01-2013';
$to_date ='05-01-2013';

$number_of_days = count_days(strtotime($from_date),strtotime($to_date));

for($i = 1; $i<=$number_of_days; $i++)
{
    $day = Date('l',mktime(0,0,0,date('m'),date('d')+$i,date('y')));
    echo "<br>".$day;       
}

function count_days( $a, $b )
{       
    $gd_a = getdate( $a );
    $gd_b = getdate( $b );

    $a_new = mktime( 12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year'] );
    $b_new = mktime( 12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year'] );

    return round( abs( $a_new - $b_new ) / 86400 );
}

J'ai vu le post Recherche de la date d'un jour particulier entre deux dates PHP

Mais je n'ai pas eu mon résultat
Aidez-moi, s'il vous plaît

4voto

xdazz Points 85907

Utilisez le DateTime ce sera beaucoup plus simple :

$from_date ='01-01-2013';
$to_date ='05-01-2013';

$from_date = new DateTime($from_date);
$to_date = new DateTime($to_date);

for ($date = $from_date; $date <= $to_date; $date->modify('+1 day')) {
  echo $date->format('l') . "\n";
}

3voto

Amir Bilal Points 282
$from_date ='01-01-2013';
$to_date ='05-01-2013';
$start = strtotime($from_date);
$end = strtotime($to_date);
$day = (24*60*60);
for($i=$start; $i<= $end; $i+=86400)
    echo date('l', $i);

1voto

ShuklaSannidhya Points 1943
<?php
    function printDays($from, $to) {
        $from_date=strtotime($from);
        $to_date=strtotime($to);
        $current=$from_date;
        while($current<=$to_date) {
            $days[]=date('l', $current);
            $current=$current+86400;
        }

        foreach($days as $key=> $day) {
            echo $day."\n";
        }
    }
    $from_date ='01-01-2013';
    $to_date ='05-01-2013';
    printDays($from_date, $to_date);
?>

Boucle sur tous les jours entre les dates données (inclusivement) et ajoute ensuite le jour correspondant dans un tableau, en utilisant la méthode suivante date fonction. Imprimez le tableau et tada ! vous avez terminé !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X