j'en suis toujours a essayer de traiter mes dates...
et me question est comment
remplacer
Mar, 28 Mar 2005 16:32:16 +0200
par
Mon, 28 Feb 2005 16:32:16 +0200
y a t-il un un moyen d'utiliser un tableau de correspondance pour les jours
et un autre pour les mois.
mon expression regulière de recherche est:
/(\w+), (\d+) (\w+)(.*)/i";
mais commet utiliser preg_replace pour remplacer
Lun par Mon
et
Fev par Feb
???
Attention: note bien la virgule après le "Mar" de mardi et l'espace après le "Mar" de mars.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.c-p-f.net
WebRod
salut,
pour revenir à l'origine de ton problème. Tu récupères comment tes mails, parceque il y a normalement un champs udate qui te renvoit la date au format unix non? L'avantage c'est que tu récupères la date de récéption du mail sur le serveur et non celle d'envoi qui elle est mise à jour par le client (et donc qui peut être à différent format surtout si le type qui envoit l'email n'a pas configuré la bonne heure sur son PC!!!!). Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien le fait surement. De mémoire aussi j'ai déjà vu des mails sur un même serveur (moins de 0.5%) qui avaient ce champs vide (alors que les autres l'avaient bien). Mais bon ca marche pour la plupart des cas.
Sinon du côté de pear: http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
Rod
salut,
pour revenir à l'origine de ton problème.
Tu récupères comment tes mails, parceque il y a normalement un champs udate
qui te renvoit la date au format unix non?
L'avantage c'est que tu récupères la date de récéption du mail sur le
serveur et non celle d'envoi qui elle est mise à jour par le client (et donc
qui peut être à différent format surtout si le type qui envoit l'email n'a
pas configuré la bonne heure sur son PC!!!!).
Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien le
fait surement. De mémoire aussi j'ai déjà vu des mails sur un même serveur
(moins de 0.5%) qui avaient ce champs vide (alors que les autres l'avaient
bien). Mais bon ca marche pour la plupart des cas.
Sinon du côté de pear:
http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
pour revenir à l'origine de ton problème. Tu récupères comment tes mails, parceque il y a normalement un champs udate qui te renvoit la date au format unix non? L'avantage c'est que tu récupères la date de récéption du mail sur le serveur et non celle d'envoi qui elle est mise à jour par le client (et donc qui peut être à différent format surtout si le type qui envoit l'email n'a pas configuré la bonne heure sur son PC!!!!). Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien le fait surement. De mémoire aussi j'ai déjà vu des mails sur un même serveur (moins de 0.5%) qui avaient ce champs vide (alors que les autres l'avaient bien). Mais bon ca marche pour la plupart des cas.
Sinon du côté de pear: http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
Rod
Etienne SOBOLE
pour revenir à l'origine de ton problème. Tu récupères comment tes mails, parceque il y a normalement un champs udate qui te renvoit la date au format unix non? L'avantage c'est que tu récupères la date de récéption du mail sur le serveur et non celle d'envoi qui elle est mise à jour par le client (et donc qui peut être à différent format surtout si le type qui envoit l'email n'a pas configuré la bonne heure sur son PC!!!!). Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien le fait surement. De mémoire aussi j'ai déjà vu des mails sur un même serveur (moins de 0.5%) qui avaient ce champs vide (alors que les autres l'avaient bien). Mais bon ca marche pour la plupart des cas.
Exact. Il y a bien un champ Received (dans l'entete desmails), qui contient la date a laquelle le mail est arrivée... Donc effectivement, la logique voudrait que cette date etant mise par le serveur de mail soit de structure constante... Vais peut etre m'orienter dans cette direction effectivement. cela me semble moins stupide que continuer ma tentative de décodage...
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la reception... et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12, ben souvent il te repond... ben j'en ai pas a cette heure la ;)
Bref. je vais quand meme faire comme tu dis, prce que sinon c'est sans fin... ou alors mieux, je vais faire avec la date actuelle que j'utilise et la date de reception serveur en cas de probleme... voila qui me semble bien.
Merci Etienne
Sinon du côté de pear: http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
Rod
pour revenir à l'origine de ton problème.
Tu récupères comment tes mails, parceque il y a normalement un champs
udate qui te renvoit la date au format unix non?
L'avantage c'est que tu récupères la date de récéption du mail sur le
serveur et non celle d'envoi qui elle est mise à jour par le client (et
donc qui peut être à différent format surtout si le type qui envoit
l'email n'a pas configuré la bonne heure sur son PC!!!!).
Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien
le fait surement. De mémoire aussi j'ai déjà vu des mails sur un même
serveur (moins de 0.5%) qui avaient ce champs vide (alors que les autres
l'avaient bien). Mais bon ca marche pour la plupart des cas.
Exact.
Il y a bien un champ Received (dans l'entete desmails), qui contient la date
a laquelle le mail est arrivée...
Donc effectivement, la logique voudrait que cette date etant mise par le
serveur de mail soit de structure constante...
Vais peut etre m'orienter dans cette direction effectivement.
cela me semble moins stupide que continuer ma tentative de décodage...
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la
reception...
et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12,
ben souvent il te repond... ben j'en ai pas a cette heure la ;)
Bref. je vais quand meme faire comme tu dis, prce que sinon c'est sans
fin...
ou alors mieux, je vais faire avec la date actuelle que j'utilise et la date
de reception serveur en cas de probleme...
voila qui me semble bien.
Merci
Etienne
Sinon du côté de pear:
http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
pour revenir à l'origine de ton problème. Tu récupères comment tes mails, parceque il y a normalement un champs udate qui te renvoit la date au format unix non? L'avantage c'est que tu récupères la date de récéption du mail sur le serveur et non celle d'envoi qui elle est mise à jour par le client (et donc qui peut être à différent format surtout si le type qui envoit l'email n'a pas configuré la bonne heure sur son PC!!!!). Alors de mémoire certains serveur ne la mettent pas à jour, mais le tien le fait surement. De mémoire aussi j'ai déjà vu des mails sur un même serveur (moins de 0.5%) qui avaient ce champs vide (alors que les autres l'avaient bien). Mais bon ca marche pour la plupart des cas.
Exact. Il y a bien un champ Received (dans l'entete desmails), qui contient la date a laquelle le mail est arrivée... Donc effectivement, la logique voudrait que cette date etant mise par le serveur de mail soit de structure constante... Vais peut etre m'orienter dans cette direction effectivement. cela me semble moins stupide que continuer ma tentative de décodage...
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la reception... et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12, ben souvent il te repond... ben j'en ai pas a cette heure la ;)
Bref. je vais quand meme faire comme tu dis, prce que sinon c'est sans fin... ou alors mieux, je vais faire avec la date actuelle que j'utilise et la date de reception serveur en cas de probleme... voila qui me semble bien.
Merci Etienne
Sinon du côté de pear: http://pear.php.net/package/Date
pas testé mais peut-être qu'ils ont la solution à ton problème
Rod
WebRod
Exact. Il y a bien un champ Received (dans l'entete des mails), qui contient la date a laquelle le mail est arrivée...
en fait je ne parlais pas exactement de ce champs, mais finalement ils doivent retourner la même valeur. Le champs udate est un attribut du mail qui est mis à jour par le serveur, c'est un timestamp UNIX (la date n'est donc pas lisible directement il faut la convertir). Il faut voir du côté des fonctions imap pour y accéder.
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la reception... et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12, ben souvent il te repond... ben j'en ai pas a cette heure la ;)
exact, si ceci est important pour l'utilisation que tu vas en faire, alors ce n'est pas une bonné idée. Mais j'ai déjà examiné de nombreux headers lors d'un développement de parsing d'emails et je me suis rendu compte qu'utiliser la date du client (vrai date d'envoi) relevait du casse tête (beaucoup trop de formats différents, voir des formats TRES etranges). D'ailleurs les logiciels type outlook se servent de la date de récéption du mail par le serveur (champs udate ou le champs dont tu parles dans le header), pas de la date d'envoi. Ce qui veut tout dire.... il faut donc voir le pourcentage de cas où le type aura vraiment besoin de connaitre la minute pour retrouver son mail!!( cas où le type t'envoie plein de mails à la minute eventuellement) Le "sujet" doit pouvoir l'aider aussi, en comptant le nombre de : "Re:" ;-)
Rod
Exact.
Il y a bien un champ Received (dans l'entete des mails), qui contient la
date a laquelle le mail est arrivée...
en fait je ne parlais pas exactement de ce champs, mais finalement ils
doivent retourner la même valeur.
Le champs udate est un attribut du mail qui est mis à jour par le serveur,
c'est un timestamp UNIX (la date n'est donc pas lisible directement il faut
la convertir).
Il faut voir du côté des fonctions imap pour y accéder.
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la
reception...
et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12,
ben souvent il te repond... ben j'en ai pas a cette heure la ;)
exact, si ceci est important pour l'utilisation que tu vas en faire, alors
ce n'est pas une bonné idée.
Mais j'ai déjà examiné de nombreux headers lors d'un développement de
parsing d'emails et je me suis rendu compte qu'utiliser la date du client
(vrai date d'envoi) relevait du casse tête (beaucoup trop de formats
différents, voir des formats TRES etranges).
D'ailleurs les logiciels type outlook se servent de la date de récéption du
mail par le serveur (champs udate ou le champs dont tu parles dans le
header), pas de la date d'envoi.
Ce qui veut tout dire....
il faut donc voir le pourcentage de cas où le type aura vraiment besoin de
connaitre la minute pour retrouver son mail!!( cas où le type t'envoie plein
de mails à la minute eventuellement)
Le "sujet" doit pouvoir l'aider aussi, en comptant le nombre de : "Re:" ;-)
Exact. Il y a bien un champ Received (dans l'entete des mails), qui contient la date a laquelle le mail est arrivée...
en fait je ne parlais pas exactement de ce champs, mais finalement ils doivent retourner la même valeur. Le champs udate est un attribut du mail qui est mis à jour par le serveur, c'est un timestamp UNIX (la date n'est donc pas lisible directement il faut la convertir). Il faut voir du côté des fonctions imap pour y accéder.
le probleme c'est que parfois il y a plusieurs minutes entre l'envoi et la reception... et lorsque tu dis a quelqu'un: votre mail du 18 janvier 2005 a 15h12, ben souvent il te repond... ben j'en ai pas a cette heure la ;)
exact, si ceci est important pour l'utilisation que tu vas en faire, alors ce n'est pas une bonné idée. Mais j'ai déjà examiné de nombreux headers lors d'un développement de parsing d'emails et je me suis rendu compte qu'utiliser la date du client (vrai date d'envoi) relevait du casse tête (beaucoup trop de formats différents, voir des formats TRES etranges). D'ailleurs les logiciels type outlook se servent de la date de récéption du mail par le serveur (champs udate ou le champs dont tu parles dans le header), pas de la date d'envoi. Ce qui veut tout dire.... il faut donc voir le pourcentage de cas où le type aura vraiment besoin de connaitre la minute pour retrouver son mail!!( cas où le type t'envoie plein de mails à la minute eventuellement) Le "sujet" doit pouvoir l'aider aussi, en comptant le nombre de : "Re:" ;-)
Rod
nospam
Etienne SOBOLE wrote:
j'en suis toujours a essayer de traiter mes dates... et me question est comment remplacer Mar, 28 Mar 2005 16:32:16 +0200 par Mon, 28 Feb 2005 16:32:16 +0200
y a t-il un un moyen d'utiliser un tableau de correspondance pour les jours et un autre pour les mois. mon expression regulière de recherche est: /(w+), (d+) (w+)(.*)/i";
Tu devrais pouvoir t'en sortir avec preg_replace_callback()
Remplacez nospam par mon prénom pour me contacter par email
Etienne SOBOLE <etienne-nospam@tlk.fr> wrote:
j'en suis toujours a essayer de traiter mes dates...
et me question est comment
remplacer
Mar, 28 Mar 2005 16:32:16 +0200
par
Mon, 28 Feb 2005 16:32:16 +0200
y a t-il un un moyen d'utiliser un tableau de correspondance pour les jours
et un autre pour les mois.
mon expression regulière de recherche est:
/(w+), (d+) (w+)(.*)/i";
Tu devrais pouvoir t'en sortir avec preg_replace_callback()
j'en suis toujours a essayer de traiter mes dates... et me question est comment remplacer Mar, 28 Mar 2005 16:32:16 +0200 par Mon, 28 Feb 2005 16:32:16 +0200
y a t-il un un moyen d'utiliser un tableau de correspondance pour les jours et un autre pour les mois. mon expression regulière de recherche est: /(w+), (d+) (w+)(.*)/i";
Tu devrais pouvoir t'en sortir avec preg_replace_callback()
En refaisant les 3 lignes pour les mois ça devrait être bon.
À+
-- Lol Zimmerli - http://www.lzi.ch/lol/ Dieu a sagement agi en plaçant la naissance avant la mort; sans cela, que saurait-on de la vie ? -+- Alphonse Allais -+-
En refaisant les 3 lignes pour les mois ça devrait être bon.
À+
--
Lol Zimmerli - http://www.lzi.ch/lol/
Dieu a sagement agi en plaçant la naissance avant la mort;
sans cela, que saurait-on de la vie ?
-+- Alphonse Allais -+-
En refaisant les 3 lignes pour les mois ça devrait être bon.
À+
-- Lol Zimmerli - http://www.lzi.ch/lol/ Dieu a sagement agi en plaçant la naissance avant la mort; sans cela, que saurait-on de la vie ? -+- Alphonse Allais -+-