Gestion des dates [Résolu]

Signaler
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008
-
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008
-
bonjour
je voudrais savoir s'il y a une fonction Date qui permet de récupérer le dernier jour de tout les mois

7 réponses

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
12
Bonjour,

Un petit bout de code pour afficher le dernier jour de chaque mois, en français.
La fonction 'exemple' est basée sur le code du lien indiqué par Alexternet, l'autre utilise les fonction de dates disponibles depuis php 5.1. La seconde est environ 4 fois plus rapide que la première. Faites l'essai.

<?php
function temps()
{
$result = explode(' ', microtime());
$temps = $result[1] + $result[0];
return $temps;
}

function exemple($annee)
{
$i = 1;
while ($i <= 12)
{
$nbJour = date('t', mktime( 0, 0, 0, $i, 1, $annee ));
echo strftime('%A %d %B %Y', mktime( 0, 0, 0, $i, $nbJour, $annee )) . '
';
$i ++;
}
}

function denierJourMois($annee)
{
$date = new DateTime($annee);

$i = 1;
while ($i <= 12)
{
$date -> setDate($annee, $i, 1);
$nbJour = $date -> format('t');
$date -> setDate($annee, $i, $nbJour);
echo strftime('%A %d %B %Y', $date -> format('U')) . '
';
$i ++;
}
}
//-------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------
setlocale(LC_TIME, 'fr', 'fr_FR', 'fr_FR.ISO8859-1');

$annee = '2008';
$debut = temps();
denierJourMois($annee);
$fin = temps();
echo '
' . ($fin - $debut) . '

';

$debut = temps();
exemple($annee);
$fin = temps();
echo '
' . ($fin - $debut) . '
';
?>
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
Salut,

Pas a ma connaissance, après peut être qu'il y en a une, sinon tu peus faire un array avec dedans les date des dernier jour d'un mois et récupèrer les jours grace au numéro.

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Salut,

Sinon le plus simple est d'en faire une, en se positionnant le 1er jour du mois (suivant) et en faisant "-1 days".
Je ne sais pas si cette idée est fiable.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
33
a oui, j'aurai du y penser, bonne idée.

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008

merci d'avoir répondu aussi rapidement
justement pour le momant je fait la methode que tu as dites
je me place sur le moi davant et je fait -1
mai j'ai vu une autre fonction sur :
http://www.commentcamarche.net/faq/sujet-875-php-dernier-jour-du-mois-nombre-de-jours-dans-le-mois

mais jarive pas a l'utiliser dans une boucle
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Je savais qu'il y a ce genre de fontions, mais je crois que tu ne détecteras pas le 29 février.
Messages postés
12
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
4 novembre 2008

merci beaucoup jeca
c'est a peut pres ce que j'avai fais au début mais ensuite j'ai vu plu simple
j'vous donne mon code pour ceux qui ont le même probleme

for($mois=1; $mois <=12; $mois++)
  { 
      $dernierjour= date("t",mktime(0,0,0,($mois),1,2007));
       echo $dernierjour." ";
}
c'est gentil d'avoir répondu aussi rapidemment