[Casse tête PHP] Trouver le jour de la semaine en fontion de la date!

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Audiofeeline, 20 Octobre 2009.

  1. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    Salut à tous,
    alors voilà le truc... J'ai une date au format US de type "2009-12-25" que je veux convertir au format RSS donc en "Fri, 25 Dec 2005 00:00:00 -0700"...
    J'ai commencé un petit truc :

    Code:
    <?php
    // Séparation du jour, du mois et de l'année dans 3 variables...
    list($annee, $mois, $jour) = split('[/.-]', $date);
    
    // Transformation du mois "numérique" en mois "texte"
    if($mois==1)$mois='Jan';
    if($mois==2)$mois='Feb';
    if($mois==3)$mois='Mar';
    if($mois==4)$mois='Apr';
    if($mois==5)$mois='May';
    if($mois==6)$mois='Jun';
    if($mois==7)$mois='Jui';
    if($mois==8)$mois='Aug';
    if($mois==9)$mois='Sep';
    if($mois==10)$mois='Oct';
    if($mois==11)$mois='Nov';
    if($mois==12)$mois='Dec'; 
    
    // La date au format "RSS"
    $date = $wtf.', '.$jour.' '.$mois.' '.$annee.' 00:00:00 -0700'
    ?>
    L'idée c'est de réussir à trouver un truc qui me donnerais le jour en anglais pour la variable '$wtf"...
    Des idées les hardcore codeurs?...
     
  2. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    2009-12-25 c'est pas trop une date au format US, mais plutôt au format ISO 8601. En format US ce serait 12/25/2009.

    Tu devrais trouver ton bonheur là-dedans:

    http://www.php.net/manual/en/book.datetime.php

    En particulier regarde les fonctions mktime et strftime. La première te permettra de convertir une date en petits morceaux en un timestamp Unix (secondes depuis le 1er janvier 1970 0h UTC), la deuxième te permet de convertir ce timestamp en n'importe quel format. Tu peux aussi utiliser localtime pour décomposer en jour/mois/année/jour de la semaine/heure/minute/seconde/etc. et réassembler toi-même.

    Et pour les mois et jours de la semaine, tu peux utiliser des tableaux, hein, ce sera quand même plus efficace.

    Jacques.
     
  3. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 018
    J'aime reçus:
    133
    Ou même t'affranchir complètement de passer par des tableaux à remplir manuellement, il y a des fonctions qui permettent pour ce qui est des dates de changer la locale (ce qui permet d'avoir accès aux noms de jours et de mois dans la locale demandée) :

    Code:
    setlocale(LC_TIME,"fr_FR")
    
    Ca couplé aux conseils de jcaron, tu devrais t'en sortir sans souci.
     
  4. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    161
    J'aime reçus:
    0
    Moi je dirai que ça :
    Code:
    var_dump(date('r',strtotime('2009-12-25')));
    =>Fri, 25 Dec 2009 00:00:00 +0100
    
    Avant de poser une question comme ça je te conseil de lire le manuel et de taper date dans le moteur de recherche du site ... :evil:


    Edit : en relisant ton post j'ai comme un doute sur le fait de répondre à la question :mrgreen:
     
  5. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Si si, je pense que c'est exactement ça. Je me disais bien qu'il devait y avoir quelque part un format pré-défini pour avoir des dates RFC 2822...

    Jacques.
     
  6. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    722
    J'aime reçus:
    0
  7. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    Ah oui en effet. :oops:

    J'étais à cent lieux d'imaginer un truc comme ça. :lol:
    Je tiens à préciser que je suis pas codeur au départ, disons que je "bricole"... :mrgreen:

    Sinon ce bout de code me donne string(31) "Fri, 25 Dec 2009 00:00:00 +0100" donc ça me semble être ça. Par contre qu'est-ce que c'est string(31)? C'est généré avec var_dump si j'ai bien compris mais je vois pas bien à quoi ça correspond.

    Merci de vos réponses à tous.
     
  8. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    var_dump (http://php.net/manual/en/function.var-dump.php) est juste une fonction utilisée essentiellement pour débugger qui t'affiche le contenu d'une variable avec moult détails. Evidemment pour ton usage propre tu vires le var_dump...

    Jacques.
     
  9. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    Ouais j'étais sur cette page mais j'avoue que ça me dépasse un peu...
    Mais dans notre cas, le string(31) veut-il dire quelque chose?

    Sinon mon problème résolu.
     
  10. La Chaise sauvage
    La Chaise sauvage WRInaute impliqué
    Inscrit:
    11 Avril 2005
    Messages:
    536
    J'aime reçus:
    0
    string(31) veut dire que c'est une chaîne de caractères (string), qui comporte 31 caractères :)
     
  11. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    31 caractères :wink:
     
  12. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    Ah d'accord...
    C'est super j'ai réussi à faire mon truc! :)
    Merci à tous!
     
  13. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    161
    J'aime reçus:
    0
    Ouhaaaa !!!!

    Je pense qu'il faut mettre un gros warning du genre MEGA NOOB dans ce genre de post parce que sinon on pourrait croire que tu te moques de nous.

    D'ailleurs j'ai failli répondre de manière désagréable la première fois, mais quand j'ai vu que tu avais plus de post que moi je me suis calmé :mrgreen:

    'fin bref content que tu es trouvé ce qu'il te fallait et je me suis bien marré avec le string 31 ... C'était limite : "Qu'est ce que vient foutre un string toulousain dans mon code" :mrgreen:
     
  14. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    Je suis SEO pas développeur, voilà tout. :)
    Mais je me soigne...
     
  15. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Une page de la doc php tous les soirs avant de se coucher :)

    Jacques.
     
  16. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 172
    J'aime reçus:
    2
    ...ou veille quotidienne sur le référencement... :mrgreen:
     
  17. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Ca ne soigne pas ça, au contraire, ça provoque des réactions cutanées sévères :)

    Jacques.
     
Chargement...
Similar Threads - [Casse tête PHP] Forum Date
Augmenter ses revenues Adsense avec les Enchères d'en-tête ou header bidding Monétisation d'un site web 8 Mai 2021
je me casse la tête sur cette histoire de multilangue Référencement international (langues, pays) 2 Septembre 2020
Il faut arrêter de se prendre la tête Référencement Google 10 Janvier 2020
Désindéxer pages sans en-têtes, ni balises meta Crawl et indexation Google, sitemaps 6 Décembre 2019
Lecture entete HTTP avec CURL et 403 Développement d'un site Web ou d'une appli mobile 31 Octobre 2019
En-têtes http bugués Administration d'un site Web 6 Février 2019
Casse-tête : balises hreflang Référencement international (langues, pays) 25 Juin 2018
Redirection en place mais en-tête HTTP 200 Problèmes de référencement spécifiques à vos sites 11 Décembre 2016
Couleur en tête de la ligne active sous Excel Le café de WebRankInfo 5 Décembre 2016
SEO + Marketplace + Sous-domaines = casse tête Problèmes de référencement spécifiques à vos sites 20 Septembre 2016
Google ne référence pas en tête ma page d'accueil Problèmes de référencement spécifiques à vos sites 16 Avril 2016
Entete http code 401 Administration d'un site Web 17 Février 2016
redirect outil analyse en tete webrankinfo Problèmes de référencement spécifiques à vos sites 30 Août 2014
Entetes et SEO Débuter en référencement 2 Juillet 2014
Besoin d'avis sur casse-tête multilingue Référencement international (langues, pays) 30 Mai 2014
URL rewriting casse tête URL Rewriting et .htaccess 14 Mars 2014
Avec modpagespeed, les en-têtes Last-Modified et Expire disparaissent de mes pages php URL Rewriting et .htaccess 21 Décembre 2013
Casse-tete : des centaines de redirections a faire URL Rewriting et .htaccess 13 Septembre 2013
Du changement à la tête du groupe Pages Jaunes Autres moteurs de recherche connus 27 Mars 2013
Preg_match et bobo à la tête :) Développement d'un site Web ou d'une appli mobile 28 Janvier 2013