Extraire date email au format RFC 2822

<code 4D>
// Methode: DateRFC2822
// Extrait la date de l’entete Date d’un email
// $date:=DateRFC2822 (“14 Jun 2019 18:21:46 +0200”) ==> 14/06/2019
// $date:=DateRFC2822 (“Mon, 12 Oct 2015 13:44:32+200”) ==> 12/10/2015

C_DATE($0;$date)
C_TEXTE($1;$chaine)

Si (Nombre de paramètres>=1)

$chaine:=$1

Si ($chaine#"")
	
	$reg:="^((Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s+)?(\\d{1,2})\\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s+(\\d{4})"
	
	TABLEAU ENTIER LONG($tPos;0)
	TABLEAU ENTIER LONG($tLong;0)
	
	$trouve:=Trouver regex($reg;$chaine;1;$tPos;$tLong)
	
	Si ($trouve)
		
		$jour:=Sous chaîne($chaine;$tPos{3};$tLong{3})
		
		$mois:=Sous chaîne($chaine;$tPos{4};$tLong{4})
		Au cas ou 
			: ($mois="Jan")
				$mois:="1"
			: ($mois="Feb")
				$mois:="2"
			: ($mois="Mar")
				$mois:="3"
			: ($mois="Apr")
				$mois:="4"
			: ($mois="May")
				$mois:="5"
			: ($mois="Jun")
				$mois:="6"
			: ($mois="Jul")
				$mois:="7"
			: ($mois="Aug")
				$mois:="8"
			: ($mois="Sep")
				$mois:="9"
			: ($mois="Oct")
				$mois:="10"
			: ($mois="Nov")
				$mois:="11"
			: ($mois="Dec")
				$mois:="12"
		Fin de cas 
		
		$annee:=Sous chaîne($chaine;$tPos{5};$tLong{5})
		
		$date:=Date($jour+"/"+$mois+"/"+$annee)
		
	Fin de si 
	
	
Fin de si 

Fin de si

$0:=$date

</code 4D>

merci pour ce retour, en effet j’ai zappé la gestion de la timezone

Je dois faire

$date:=Ajouter a date(!00/00/0000!;$annee;$mois;$jour)

plutot que $date:=Date($jour+"/"+$mois+"/"+$annee)

c’est cela ?

Bonjour,

C’est bien ça…