[RESOLU] Si derniers jours du mois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Si derniers jours du mois

Re: Si derniers jours du mois

par gdc » 25 sept. 2013, 01:48

Je vous remerci tous,


Donc je vais essayer ca demain, je vous retien au courant si j'ai des problèmes ...

Un gros merci

Re: Si derniers jours du mois

par Mazarini » 24 sept. 2013, 20:28

Je note le $date->format('t') =D>

Re: Si derniers jours du mois

par AB » 24 sept. 2013, 19:13

Oui y'a mille et une manière de faire. De nos jours j'éviterais si possible d'utiliser strtotime. Cela ne pose généralement pas de problème mais depuis qu'il existe des fonctions équivalentes qui lèvent la limitation du calendrier, autant les utiliser.

Sinon sur le principe, la proposition de yann18 me semble la plus simple (et propre ;)) en utilisant le caractère t pour trouver le nombre de jours du mois. On peut donc faire aussi :
$date = new DateTime();
if($date->format('d') == $date->format('t')) echo 'on est sur le dernier jour du mois';
Sinon parmi les "vieilles" fonctions il existe aussi "cal_days_in_month" pour trouver le nombre de jours dans un mois donné.

Re: Si derniers jours du mois

par Mazarini » 24 sept. 2013, 18:43

Sauf erreur de ma part, le 00/12/2013 => 30/11/2013 et le 00/13/2013 => 31/12/2013
Pas très propre, mais efficace. :oops:

Re: Si derniers jours du mois

par orenx22 » 24 sept. 2013, 16:54

Bonjour l'ami,

xTg a la bonne logique, c'est à dire de voir quel est le jour suivant. Dans l'idée si le jour suivant et plus petit qu'aujourd'hui, c'est que l'on se trouve en fin de mois.
$today = date( "d", time() );

$date = new DateTime( date( "Y-m-d", time() ), new DateTimeZone( 'Europe/Paris' ) );
$date-> add( new DateInterval( 'P1D' ) );

// si la date d'aujourd'hui est plus grand que demain
if( $today > $date-> format( 'd' ) )
{
    // traitement mensuel
}
else
{
    // traitement journalier
}
J'ai pas testé le code mais je ferai de cette manière en tout cas.

Ciao ++

Re: Si derniers jours du mois

par yann18 » 24 sept. 2013, 13:12

bonjour,

dans la fonction date(format,time) on peut obtenir le nombre de jour d'un mois donné.il suffit de passer à format le caractère t:

$date = "2013-09-24";
echo "<br>dernier jour :", date("Y-m-t", strtotime($date));//affichera : 2013-09-30


Re: Si derniers jours du mois

par xTG » 24 sept. 2013, 13:04

J'utiliserai la fonction strtotime pour calculer le jour suivant.
Puis en extraire le mois et comparer par rapport au mois courant.
S'il est différent c'est que demain sera le premier jour du mois et donc qu'on se trouve à la fin du mois courant. :)

Si derniers jours du mois

par gdc » 24 sept. 2013, 12:14

Bonjour,

J'aimerai savoir est-ce possible de pouvoir executer une partie de script quand c'est le dernier jours du mois a 00:00 ...

J'expliquer:

si derniers jours { execute fermeture de mois } else { execute seulement la commande 24h }

Merci

Je n'ai rien trouver a moin que je n'ais pas bien chercher ...