récupération de la date d'un email

Petit nouveau ! | 7 Messages

29 févr. 2008, 16:20

Bonjour,

Quelqu'un pourrait-il m'indiquer comment faire pour récupérer une date "propre" à partir d'un email.

J'ai utilisé la fonction PEAR suivante :
$mail = Mail_mimeDecode::decode($mimeParams);
suivie de :
$date = $mail->headers['date'];
Ca marche mais j'obtiens par exemple : Wed, 27 Feb 2008 19:42:16 +0100

dont j'aimerais tirer : 27-02-2008 et 19:42

N'y a-t-il pas chez PEAR ou ailleurs une manière d'obtenir une date et une heure propre ?
Si quelqu'un a une idée, je suis preneur.

Merci d'avance!

Mammouth du PHP | 1353 Messages

29 févr. 2008, 16:23

Je pense qu'avec la fonction date() de php tu dois pouvoir créer une nouvelle date qui prend la valeur retourné par le mail et après l'afficher differemment en jouant sur les paramêtres de la fonction...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Petit nouveau ! | 7 Messages

29 févr. 2008, 16:38

Ben ça a pas l'air de marcher, la fonction date n'a pas l'air de savoir quoi faire avec la chaine 'Wed, 27 Feb 2008 19:42:16 +0100'.
$date = $mail->headers['date'];
$date = date("d.m.y",$date);
echo $date;
et j'obtiens : "Warning: date() expects parameter 2 to be long, string given in..."

En fait il faudrait parvenir à passer d'un affichage "DATE_RFC822" à un "d-m-a".

Une autre idée ? peut-être avec date() en effet...

merci

ViPHP
ViPHP | 4674 Messages

29 févr. 2008, 16:45

Hey,

tente voir ça :
<?php

header('Content-type: text/plain');

ini_set('date.timezone', 'Europe/Paris');

echo strtotime('Wed, 27 Feb 2008 19:42:16 +0100');

echo "\n\n";

echo date('d-m-Y H:i', strtotime('Wed, 27 Feb 2008 19:42:16 +0100'));
;-). Je te laisse lire la documentation de strtotime :).

Le ini_set, c'est juste pour que strtotime ne te cause pas de soucis si jamais ton serveur n'est pas configuré à fond. Tout est expliqué dans la documentation de toute façon :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

d0m
Mammouth du PHP | 1141 Messages

29 févr. 2008, 16:46

Tu peux essayer du coté de strtotime, reste à vérifier si ton format de date est conforme au format demandé par la fonction.

ViPHP
ViPHP | 4674 Messages

29 févr. 2008, 16:47

Tu peux essayer du coté de strtotime, reste à vérifier si ton format de date est conforme au format demandé par la fonction.
Mouhaha, grillé :D.


:roll:
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Petit nouveau ! | 7 Messages

29 févr. 2008, 16:48

Merci, je viens de trouver...
$date = $mail->headers['date'];
$date = date("d/m/Y G:i",strtotime ($date));
echo $date;
et ça donne "27/02/2008 19:42" à partir de "Wed, 27 Feb 2008 19:42:16 +0100".

Tu avais donc raison HyWaN, il fallait utiliser strtotime...

Merci à tous les 2...