Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1341 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Ajouter 6 mois à la date courrante

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter 6 mois à la date courrante

n°1172832
skynicko
Posté le 08-08-2005 à 20:52:04  profilanswer
 

Bonjour
 
Je manipule pas très bien les dates. J'aimerai ajouter 6 mois à la date courrante.
 
Voila mon code, qu'est ce que je dois ajouter après pour mettre 6 mois de plus ?
 
Ma question est assez basique je sais.
 

Code :
  1. $date = time();


mood
Publicité
Posté le 08-08-2005 à 20:52:04  profilanswer
 

n°1172843
olivthill
Posté le 08-08-2005 à 21:18:37  profilanswer
 

$date = strtotime('+6 month', $date)

n°1172844
phosphorus​68
Pseudo à n°
Posté le 08-08-2005 à 21:23:53  profilanswer
 

C'est quoi 6 mois de plus?
 
Même jour, janvier --> juillet ?
Ou 26 semaines de plus, 180 jours de plus, ...
 
6 mois après les 29, 30, 31 août, c'est bien le 28 (29 bissextile) février? Ca pose pas de problème dans ton projet?

n°1172894
skynicko
Posté le 09-08-2005 à 01:33:40  profilanswer
 

Justement je sais pas comment je dois faire pour gérer les années bissextiles.
 
Il me faut 6 mois de plus en suivant le calendrier.

n°1172896
phosphorus​68
Pseudo à n°
Posté le 09-08-2005 à 01:58:27  profilanswer
 

C'est pour une entreprise et l'écart entre 2 dates est primordial (style projet où 179 jours devant soi, c'est pas 180)?
 
Il y a encore 365 (ou 366) /2 comme méthode. Pas trop mal si tu as pas à t'occuper des jours ouvrés/ouvrables mais déroutant si c'est le "dd" qui compte ou bien le jour de la semaine (lundi-->lundi)  :pt1cable:  
 
J'avais le problème pour Excel et c'est sur la page suivante que j'avais vu toutes les possibilités: http://www.mvps.org/dmcritchie/excel/datetime.htm#add
Pour PHP, une fois que tu as choisi ta solution la plus adaptée à ton problème, il existe peut-être une fonction "toute faite" :)

n°1172898
skynicko
Posté le 09-08-2005 à 02:53:02  profilanswer
 

Merci pour ton lien phosporus je vais etudier ça.
 
C'est effectivement pour une entreprise donc je dois avoir un résultat fiable qui tient compte de nombre de jours précis qu'il y a dans chaque mois.
Vraiment les gens qui ont inventé le mois de février je les déteste

n°1172924
betsamee
Asterisk Zeperyl
Posté le 09-08-2005 à 08:49:06  profilanswer
 

solution crade mais qui marche a tous les coups:
tu te connecte a une bdd mysql , tu lances une requete  
 
Select date_add($tadate,interval 6 month)
 
tu recuperes le resultat et tu fermes ta connexion

n°1173110
bl@p_psx
Admin G15-france
Posté le 09-08-2005 à 12:49:17  profilanswer
 

avec date et mktime ....
 

Code :
  1. $dans_six_mois = mktime(0,0,0,date("m" ) + 6  ,date("d" ) ,date("Y" )    );


 
tu obtiens un timestamp de la date dans 6 mois. mktime tient compte tout seul de tout ce qui te posse problème ( année bisextile, mois de février ... )
 
@+
 
exemple : http://blap.serveftp.com/date.php

Code :
  1. <?
  2. $now = time();
  3. $dans_six_mois =  mktime(0,0,0,date("m" ) + 6  ,date("d" ) ,date("Y" ));
  4. echo date("d m Y", $now)."<br />";
  5. echo date("d m Y", $dans_six_mois);
  6. ?>


Message édité par bl@p_psx le 09-08-2005 à 12:57:23

---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1173632
skynicko
Posté le 09-08-2005 à 23:30:23  profilanswer
 

Merci pour votre aide c'est vraiment sympa. J'ai utilisé ta méthode bl@p_psx c'est nickel.
 
J'aurai une autre question si je puis me permettre. J'aimerai recuperer les 6 derniers id d'une table.
 
J'ai une requete ou je recupere le dernier et je soustrais 6. Le problème c'est que si les id ne se suivent pas ça marche pas.
 
Donc j'aimerai savoir si vous avez une idée pour ça ?

n°1173641
ge-lt
Posté le 10-08-2005 à 00:08:00  profilanswer
 

si tu utilises une base MySQL, comptes le nombres d'id (count(id)) puis tu fais une requête utilisant la clause ORDER BY id et LIMIT

mood
Publicité
Posté le 10-08-2005 à 00:08:00  profilanswer
 

n°1173645
skynicko
Posté le 10-08-2005 à 00:20:26  profilanswer
 

Si je fais un truc dans ce genre la c'est bon
 

Code :
  1. $rq_id = 'SELECT (count(id_article)) as test FROM tbl_article WHERE supr_article = 0 ORDER BY id_article DESC';
  2.     $resultat_id = mysql_query($rq_id);
  3.     $dernier_id = mysql_fetch_array($resultat_id);
  4.    
  5.     $id = $dernier_id['test'] ;
  6.    
  7. $rq_article = 'SELECT * FROM tbl_article WHERE id_article >= '.$id.'  LIMIT 6 ';


Message édité par skynicko le 10-08-2005 à 00:21:48
n°1174200
Profil sup​primé
Posté le 10-08-2005 à 20:21:50  answer
 

skynicko a écrit :

Si je fais un truc dans ce genre la c'est bon
 

Code :
  1. $rq_id = 'SELECT (count(id_article)) as test FROM tbl_article WHERE supr_article = 0 ORDER BY id_article DESC';
  2.     $resultat_id = mysql_query($rq_id);
  3.     $dernier_id = mysql_fetch_array($resultat_id);
  4.    
  5.     $id = $dernier_id['test'] ;
  6.    
  7. $rq_article = 'SELECT * FROM tbl_article WHERE id_article >= '.$id.'  LIMIT 6 ';



 
Du tout !

Code :
  1. $q = mysql_query("SELECT id_article
  2. FROM tbl_article
  3. WHERE supr_article=0
  4. ORDER BY id DESC
  5. LIMIT 6 " );
  6. $lst_ids = array();
  7. while($r = mysql_fetch_array($q)) $lst_ids[] = $r['id_article'];
  8. if(count($lst_ids)) {
  9.   $liste_derniers_id = implode(',',$lst_ids);
  10.   $rq_article = "SELECT teschamps FROM tbl_article WHERE id_article IN ($liste_derniers_id)";
  11.   /* suite de ton code */
  12. }


PS : j'aime pas aider ceux qui ne cherche pas mais j'avais rien a faire lol
PS2 : apprends un peu plus le SQL, select * c'est tres mauvais


Message édité par Profil supprimé le 10-08-2005 à 20:24:29

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Ajouter 6 mois à la date courrante

 

Sujets relatifs
Format de dateVerification eregi et date de naissance
MySQL : requete suivant le mois en coursTransformation de string en java.sql.date
probleme de dateUtilisation du for pour obtenir la date d'un fichier
SQL Server: Select date qui ont minimum une heure d'ecartDate et heure en nom de fichier
convertir un time() en date normaleSYBASE: comment convertir une date en un autre format date?
Plus de sujets relatifs à : Ajouter 6 mois à la date courrante


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR