Accueil > > > DIFFÉRENCE ENTRE DEUX DATE (LISTE RÉCUPÉRÉE DANS UN TABLEAU)
DIFFÉRENCE ENTRE DEUX DATE (LISTE RÉCUPÉRÉE DANS UN TABLEAU)
Information sur la source
Description
Salut les codeurs fou !
Je développe actuellement une petite appli pour faire mes comptes, et j'en suis aux virements mensuels.
J'ai cherché un moments une fonction permettant de récupérer un tableau de liste de date fixe résultants d'une différence entre deux dates.
Ne trouvant rien sur le sujet ,j'ai fini par m'en faire une.
On ne sais jamais, ca peux toujours servir à quelqu'un... La preuve.
Voici donc la fonction:
Source
- <?php
- function liste_mois($date_debut, $date_fin) {
- $date_suite = array();
- //on flingue les tirets des dates
- list($jour1, $mois1, $annee1) = explode("-", $date_debut);
- list($jour2, $mois2, $annee2) = explode("-", $date_fin);
- //on récupère le nombre de mois entre les deux dates
- $nombre_mois = (($annee2 - $annee1)*12 + ($mois2 - $mois1));
- //on incrémente chaque mois depuis la date début jusquà la date fin
- for($i = 0; $i < $nombre_mois; $i++){
- $mois = ($mois1 + $i);
- //comptage du nombre de jour dans le mois +$i
- $jour = date("j", mktime(0, 0, 0, $mois+1, 0, $annee1));
- //si le nombre de jour du mois +$i < au jour de la date fixée
- if($jour < $jour1){
- //on mets le dernier jour du mois +$i
- $date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour, $annee1)));
- }else{
- //sinon on traite la meme date du mois +$i
- $date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour1, $annee1)));
- }
- $date_suite[] = $date;
- }
- return $date_suite;
- }
- print_r(liste_mois('31-12-2005','15-08-2006'));
- ?>
<?php
function liste_mois($date_debut, $date_fin) {
$date_suite = array();
//on flingue les tirets des dates
list($jour1, $mois1, $annee1) = explode("-", $date_debut);
list($jour2, $mois2, $annee2) = explode("-", $date_fin);
//on récupère le nombre de mois entre les deux dates
$nombre_mois = (($annee2 - $annee1)*12 + ($mois2 - $mois1));
//on incrémente chaque mois depuis la date début jusquà la date fin
for($i = 0; $i < $nombre_mois; $i++){
$mois = ($mois1 + $i);
//comptage du nombre de jour dans le mois +$i
$jour = date("j", mktime(0, 0, 0, $mois+1, 0, $annee1));
//si le nombre de jour du mois +$i < au jour de la date fixée
if($jour < $jour1){
//on mets le dernier jour du mois +$i
$date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour, $annee1)));
}else{
//sinon on traite la meme date du mois +$i
$date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour1, $annee1)));
}
$date_suite[] = $date;
}
return $date_suite;
}
print_r(liste_mois('31-12-2005','15-08-2006'));
?>
Conclusion
Au résultat, ca donne ce qui suit :
Array ( [0] => 23-02-2006 [1] => 23-03-2006 [2] => 23-04-2006 [3] => 23-05-2006 [4] => 23-06-2006 [5] => 23-07-2006 [6] => 23-08-2006 [7] => 23-09-2006 [8] => 23-10-2006 [9] => 23-11-2006 [10] => 23-12-2006 [11] => 23-01-2007 [12] => 23-02-2007 [13] => 23-03-2007 [14] => 23-04-2007 [15] => 23-05-2007 [16] => 23-06-2007 [17] => 23-07-2007 [18] => 23-08-2007 [19] => 23-09-2007 )
Toutes critiques constructives sont les bienvenues.
Historique
- 24 février 2006 13:38:58 :
- Mise à jour pour prendre en compte les dates de fin de mois plus cohérentes.
A tester ...
- 01 mars 2006 07:42:59 :
- mise à jour, merci f6xara.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
tri tableau 2 dimensions [ par lebobby ]
Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=>"23", "c" => "rge", "date" =>'2002-08-03 12:00
Date et zone de liste [ par Joez ]
Bonjour voila j'ai 3 listes déroulantes- 1 avec les jours ( 1 2 3 4 .... 31)- 1 avec les mois ( Janvier ..... decembre )- 1 avec les années ( 2002, 20
¡¡¡ A l'aide ¡¡¡ [ par Xime ]
salut,je vous explique mon prob g un formulaire assez simple qui contient deux zonnes de listes (la deuxieme est liée a la premiere) donc o debut g fa
deffirence entre deux date (ans, mois, semaines, jour) [ par apz ]
salut,dans une zone membre je veux affiche des dates recuperer depuis un champs DATETIME d'un enregistrement.dans ce champ je sauvegarde la derniere d
prob avec des listes deroulantes [ par toto99 ]
voila mon prob est le suivante:-------------------------------------------j'ai une premiere liste deroulante qui ce remplit directement par raport a m
boucle [ par toto99 ]
voila je recupe des dates dans une liste deroulante suvant un choix qui ce trouve dans une autre liste deroulante, tous les deux sont alimenter par un
Afficher une date [ par iomega ]
Bonjour à tous je voudrai savoir comment faire pour afficher dans une variable le mois suivant du mois courant c'est-à-dire actuellement on est le moi
Liste déroulante en php [ par iomega ]
Bonjour à tous!!!J'ai une liste déroulant ou je séléctionne une dateavec un form action et lorsque je sélectionne cette date le problème c'est que cel
Date du lendemain en PHP [ par kimengumi ]
Salut à tous,Je viens d'être confronté à un chtit problème, c'est d'afficher la date du lendemain en PHPVous allez me dire qu'il suffit de faire un da
Date d'il y a un mois [ par kimengumi ]
Salut tout le monde !J'ai un problème qui me retourne la tête, j'essaye de trouver la date d'il y a un mois par rapport à une date donnée.C'est à dire
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|