Date_time numéro de jour dans la semaine

Résolu
Guillaume -  
jeremy.s Messages postés 1248 Statut Membre -
Bonjour, tout le monde

Voila je cherche a pouvoir obtenir le numéro du jour de la semaine exemple:
lundi <--1
madi <--2
mercredi <--3
etc..

J'ai donc cherché sur le net et même sur: http://php.net/manual/fr/function.date.php pour trouver la solution. Sur la page de PHP.net est indiqué que c'est N qu'il faut passer en paramètre de $format pour obtenir le numéro du jour de la semaine, ce que j'ai donc testé et que nenni. Je fais donc : string date(string $format [N]); mais cela me retourne une erreur.

Avez-vous des idées de solutions ou d'alternative?

Merci d'avance.

7 réponses

  1. Dounouw13
     
    Salut, tu as essayé de cette façon $NumDayWeek = date(N); ?

    Sinon si ça marche pas, je ferais une petite fonction, après tout tu as que 7 jours dans la semaine, en supposant que tu utilise la fonction date(D), les trois premières lettres des jours te seront renvoyé en anglais,

    function DayToNum($Day){
    if ($Day=='') return 0; //$Day est vide.
    if ($Day=="Mon") return 1;
    elseif...
    elseif($Day=="Sun" return 7;
    else return 0; //Si le jour ne correspond pas.
    }

    En espérant t'avoir aider.
    1
    1. Dounouw13
       
      Autant pour moi, et merci à jeremy.s de me le faire remarquer, c'est :
      -> $NumDayWeek = date('N');
      -> date('D')
      0
    2. jeremy.s Messages postés 1248 Statut Membre 79
       
      Oui :)

      Ya même plus simple qu'une fonction ;-)

      $tabJours = array(1=>'Lundi', 2=>'Mardi', etc...., 7=>'Dimanche');
      echo $tabJour[date('N')];

      :)
      0
  2. jeremy.s Messages postés 1248 Statut Membre 79
     
    C'est un format, il demande donc un string ;-)
    Donc date('N') marchera ;-)
    Pas besoin du @ devant.
    1
  3. Guillaume
     
    Bonjour Jeremy,

    J'ai essayé ce que tu as marqué et ça fonctionne aussi.
    Je ne savais pas qu'il fallait instancier un nouvel objet datetime (logique en plus ^^) et d'ailleurs le fait de faire : $d1->format('l : N'); n'est pas marqué sur PHP.net.
    Donc merci c'est plus clair :)
    1
  4. jeremy.s Messages postés 1248 Statut Membre 79
     
    Ce que je t'ai montré c'est pareil que date('N')

    echo date('N');
    revient à
    echo new DateTime()->format('N');

    A la place du N, toujours entre cote, tu peux mettre tout ce qui est sur cette page :
    https://www.php.net/manual/en/function.date.php

    Donc c'est marqué sur PHP.net mais implicitement ;-)
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Guillaume
     
    Re,

    En effet je viens de mettre echo date('N'); et c'est bon ^^, je me demande comment j'ai fais pour ne pas y penser !

    Thanks pour les explications :)
    1
  7. Guillaume
     
    Salut, merci d'avoir répondu :),

    J'ai essayé ce que tu as marqué ça marche (J'affiche le résultat de $NumDayWeek le numéro du jour s'affiche).

    Seulement il y a marqué : Notice: Use of undefined constant N - assumed 'N' in .. pour la ligne qui correspondait a : $NumDayWeek = date(N);
    J'ai donc mis un ' @ ' avant la ligne que tu m'as conseillé, et plus de message d'erreur.

    Apparemment mettre un arobase peut résoudre des erreurs de fonction PHP.

    Merci pour l'aide et la bonne fonction c'est cool :)!
    0