[Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
17 messages
• Page 1 sur 2 • 1, 2
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
[Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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 :
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?...
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: Tout sélectionner
<?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?...
- jcaron
- WRInaute accro

- Messages: 2687
- Inscription: 13 Fév 2004
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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.
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.
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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) :
Ca couplé aux conseils de jcaron, tu devrais t'en sortir sans souci.
- Code: Tout sélectionner
setlocale(LC_TIME,"fr_FR")
Ca couplé aux conseils de jcaron, tu devrais t'en sortir sans souci.
-

petitchevalroux - WRInaute discret

- Messages: 190
- Inscription: 31 Mai 2006
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
Moi je dirai que ça :
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 ...
Edit : en relisant ton post j'ai comme un doute sur le fait de répondre à la question
- Code: Tout sélectionner
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 ...
Edit : en relisant ton post j'ai comme un doute sur le fait de répondre à la question
-

seebz - WRInaute impliqué

- Messages: 808
- Inscription: 15 Avr 2007
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
Au cas ou, il existe aussi d'autres constantes : http://fr.php.net/manual/fr/class.datetime.php#datetime.constants.types
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
jcaron a écrit: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.
Ah oui en effet.
petitchevalroux a écrit:Moi je dirai que ça :
- Code: Tout sélectionner
var_dump(date('r',strtotime('2009-12-25')));
=>Fri, 25 Dec 2009 00:00:00 +0100
J'étais à cent lieux d'imaginer un truc comme ça.
Je tiens à préciser que je suis pas codeur au départ, disons que je "bricole"...
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.
- jcaron
- WRInaute accro

- Messages: 2687
- Inscription: 13 Fév 2004
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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.
Jacques.
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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.
Mais dans notre cas, le string(31) veut-il dire quelque chose?
Sinon mon problème résolu.
- La Chaise sauvage
- WRInaute impliqué

- Messages: 718
- Inscription: 11 Avr 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
string(31) veut dire que c'est une chaîne de caractères (string), qui comporte 31 caractères 
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
Ah d'accord...
C'est super j'ai réussi à faire mon truc!
Merci à tous!
C'est super j'ai réussi à faire mon truc!
Merci à tous!
-

petitchevalroux - WRInaute discret

- Messages: 190
- Inscription: 31 Mai 2006
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
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é
'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"
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é
'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"
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
Re: [Casse tête PHP] Trouver le jour de la semaine en fontion de la date!
Je suis SEO pas développeur, voilà tout. 
Mais je me soigne...
Mais je me soigne...
17 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

