Magazine Internet

[Vb/C#] Formatage de date RFC822 pour flux RSS

Publié le 18 décembre 2008 par Jeremy.jeanson

Voici un petit code tout simple qui permet d' obtenir le fameux format de date RFC822 utilisé dans les flux RSS.

Note importante : ce code corrige l' erreur courante qui consiste à avoir les noms des jours et mois en français (erreur que j'avais fait dans mon post relatif à l' écriture de flux RSS avec Linq.

Vb :
Private Shared Function Date2RFC822(ByVal date2Convert As DateTime) As String

	Dim offset As Int32 = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours
	Dim sb As New System.Text.StringBuilder()

	sb.Append(date2Convert.ToString( _
		"ddd, dd MMM yyyy HH:mm:ss ", _
		New System.Globalization.CultureInfo("en-US")))

	If (offset < 0) Then
		sb.AppendFormat("-{0:00}00", offset * -1)
	ElseIf (offset = 0) Then
		sb.Append("GMT")	
	Else
		sb.AppendFormat("+{0:00}00", offset)
	End If

	Return sb.ToString()
End Function
C#:
private static String Date2RFC822(DateTime date2Convert)
{
	Int32 offset = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;
	StringBuilder sb = new System.Text.StringBuilder();

	sb.Append(date2Convert.ToString(
		"ddd, dd MMM yyyy HH:mm:ss ",
		new System.Globalization.CultureInfo("en-US")));

	if (offset < 0)
	{
		sb.AppendFormat("-{0:00}00", offset * -1);
	}
	else if (offset == 0)
	{
		sb.Append("GMT");
	}
	else
	{
		sb.AppendFormat("+{0:00}00", offset);
	}

	return sb.ToString();
}

Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte