begin process at 2010 02 10 17:28:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

date


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

date

lundi 9 février 2009 à 15:38:04 | date

chourouk86

Salut,
J'ai fait un code pour un affichage de deux dates (date de jour et date de lendemain) le problème c'est que je veux faire un test de l'année si elle est bissextile ou pas.
Voici mon code pour mieux expliquer:
<? $an=date("L");
$d_d=date("d/m/Y");
$jf=substr($d_d+01,0,2);
$mf=substr($d_d,3,2);
$af=substr($d_d,6,4);
if($jf<10){$jf="0".$jf;}
if($jf>10){$jf=$jf;}
if(($jf>=31)&&(($mf==01)or($mf==03)or($mf==05)or($mf==07)or($mf==08)or($mf==10)or($mf==12)))
        {   
           $jf="0"."1";
           $mf="0".($mf+1);
           if($mf>=12){$mf="0"."1";
                          $af+=1;}
         }
if(($jf>=30)&&(($mf==04)or($mf==06)or($mf==09)or($mf==11)))
        {   
           $jf="0"."1";
           $mf="0".($mf+1);
         }
if(($jf==28)&&($mf==02)&&($an==0))
        {
         $jf="0"."1";
         $mf="0"."3";
         }
if(($jf==28)&&($mf==02)&&($an==1))
        {
         $jf="29";
         $mf="0"."2";
         }
if(($jf==29)&&($mf==02)&&($an==1))
        {
         $jf="0"."1";
         $mf="0"."3";
         }
$d_f=$jf."/".$mf."/".$af;
?>
Le problème que si l'année est bessextile et lorsque la date du jour est 28-02 l'affichage du lendemain doit etre 29-02 mais ce qui me s'affiche c'est 01-03.
Svp, si vous trouvez la bonne solution proposez la.
Merci
lundi 9 février 2009 à 16:43:41 | Re : date

jeremyCLIGRAPHCRM

Bonjour,

Tu peux faire un calcul de date en une ligne :

$retour=$res=date("d/m/Y",mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));

$retour te retournera toujours la date du jour + 1 jour :)

Ou faire une fonction un peu plus complexe :
function date_incrementee($nombre,$type)
{
  //On initialise les variable, ici avec la date du jour :   
  $hr=date("H");
  $mn=date("i");
  $se=date("s");
  $mo=date("m");
  $jr=date("d");
  $an=date("Y");
 
  $format_retour="d/m/Y";
 
  //On incrémente la date :
  switch ($type)
  {
    case "ann" : $res=date($format_retour,mktime($hr,$mn,$se,$mo,$jr,$an+$nombre)); break;
    case "moi" : $res=date($format_retour,mktime($hr,$mn,$se,$mo+$nombre,$jr,$an)); break;
    case "jou" : $res=date($format_retour,mktime($hr,$mn,$se,$mo,$jr+$nombre,$an)); break;
    case "heu" : $res=date($format_retour,mktime($hr+$nombre,$mn,$se,$mo,$jr,$an)); break;
    case "min" : $res=date($format_retour,mktime($hr,$mn+$nombre,$se,$mo,$jr,$an)); break;
    case "sec" : $res=date($format_retour,mktime($hr,$mn,$se+$nombre,$mo,$jr,$an)); break;
    default : $res=""; break;
  }
  return $res;
}

La date de demain est $demain=date_incrementee(1,"jou");


Note : Tu peux modifier cette fonction en ajoutant, par exemple :
-la date en paramètre pour ne pas faire le calcul à partir de la date du jour
-le format de la date de retour en paramètre

____________________________
Jérémy, Membre du projet open source Cligraphcrm.
mardi 10 février 2009 à 05:18:21 | Re : date

jeca

Bonjour,

Dans le genre simple, il y a peut-être mieux :
<?php
  $tmp = new DateTime();
  $aujourdhui = $tmp -> format('d/m/Y');
  $tmp -> modify('+1 day');
  $demain = $tmp -> format('d/m/Y');
  echo 'Nous sommes le ' . $aujourdhui . ', et demain, nous serons le ' . $demain;
?>
Les années bissextiles sont prises en compte.
mardi 10 février 2009 à 15:14:44 | Re : date

chourouk86

Merci bien pour votre aide mais ces deux codes ne résoudent pas mon problème.
mardi 10 février 2009 à 15:57:00 | Re : date

jeca

Cela correspond exactememt à ton problème tel que tu l'as exposé. Je te cite :

"J'ai fait un code pour un affichage de deux dates (date de jour et date de lendemain) le problème c'est que je veux faire un test de l'année si elle est bissextile ou pas.... ...e problème que si l'année est bissextile et lorsque la date du jour est 28-02 l'affichage du lendemain doit etre 29-02 mais ce qui me s'affiche c'est 01-03."

Sinon, explique clairement quel est ton problème.


Cette discussion est classée dans : date, substr, mf, jf, if


Répondre à ce message

Sujets en rapport avec ce message

fonction date probléme [ par speedylol ] Voici la fonction function DateFrench($dat){$annee=substr($dat, 0, 4);$mois=substr($dat, 5, 2);$jour=substr($dat, 8, 2);$heure=substr($dat, 11, 2);$mi fonction date [ par speedylol ] Voici la fonction function DateFrench($dat){$annee=substr($dat, 0, 4);$mois=substr($dat, 5, 2);$jour=substr($dat, 8, 2);$heure=substr($dat, 11, 2);$mi Problème de rêquette avec date Mysql [ par ArRkHaOn ] Voila un problème de php et mysql :/ les dates sont récupérées en une liste déroulante avec ce format: 00-00-0000   cette partie de code reforme la da Problème d'affichage de date dans un Ajout [ par vir76 ] Bonjour,Dans ma base de données MySQL, j'ai un champ 'COMMANDE_DATE' avec pour format TIMESTAMP.Pour la visualisation, grâce à un SELECT DATE_FORMAT, affichage d'une date JJ/MM/AAAA dans une recherche [ par vir76 ] Salut tout le monde,J'ai fait la fonction suivante :function datemysql($date){$annee=substr($date,7,4);$mois=substr($date,4,2);$jour=substr($date,0,2) traduction date [ par kenny18 ] salut,J'ai un champ type "datetime" dans une table. Je vais rechercher cette date dans mon code pour l'afficher. La date = $row[5] ci-dessous. Mon seu Message d'erreur [ par star_platine ] //ini_set('allow_url_fopen','on');             $cour_h=0;             $cour_t=0; Conversion chaine de caractères en date fr avec substr [ par bruno3591 ] Bonjour,Je suis débutant en php. Pouvez-vous me dire si la solution que j'ai trouvé pour convertir ma chaine en date est bonne, trop longue ou autre.. Problème de news ( encore ) :-( [ par f1actu ] Bonjour , encore des problèmes avec mon système de news . Alors , quand je clik sur le liens : http://monsiteweb/test/news.php?id=1 une erreur s'affi rediriger les connectés [ par webide ] Bonjour , J'utilises un cms (osdate) et je souhaites une fois que les gens se sont connectés avec leur pseudo et leur mot de passe soient directement


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales