Steffest Digitale Pulptuur

RFC822 en andere noodzakelijke saaiheid

Vandaag merkte ik dat mijn blogposts niet verschenen in FriendFeed

Voordat ik een beschuldigende vinger uitsteek toch maar even controleren, en inderdaad: mijn feed blijkt (al jaaaaaren) niet te valideren.

Getsie - eigen schuld natuurlijk, dat had ik dan maar eerder moeten controleren.

Het bleek aan de datumnotatie te liggen die, zo vertelde feedvalidator mij, niet conform RFC822 was.


Oh.


Een oplossing bleek toch lastiger te zijn dan ik dacht.

Ik ben namelijk qua scriptingtalen wat blijven plakken bij asp (vbscript) , voor erg goede redenen vind ik zelf, en die RFC822 bestond destijds al wel, maar was niet echt gangbaar.

Hier vond ik wel een scriptje dat zoiets deed maar zoals zovele scripts vergeet het dat niet iedereen in de wereld engels spreekt of zijn systeem instellingen op "US" heeft staan.

Vooral met datumnotaties geeft dat nogal eens problemen, en dit was niet anders.


Dan maar zelf aan de slag.


Voor mijn eigen referentie en voor iedereen die het ooit nodig mocht hebben:

Function RFC822_Date(dDate, sTimezone)
Daynames = split(",Sun,Mon,Tue,Wed,Thu,Fri,Sat",",")
Monthnames = split(",Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",",")

thisDate = CDate(dDate)
thisDay = Daynames(Weekday(thisDate))
thisDays = Day(thisDate)
thisMonth = Monthnames(Month(thisDate))
thisYear = Year(thisDate)
thisHours = Padding(Hour(thisDate), 2)
thisMinutes = Padding(Minute(thisDate), 2)
thisSeconds = Padding(Second(thisDate), 2)
RFC822_Date = thisDay&", "& _
thisDays&" "& _
thisMonth&" "& _
thisYear&" "& _
thisHours&":"& _
thisMinutes&":"& _
thisSeconds&" "& _
sTimezone
End Function
Function Padding(m, t)
Padding = String(t-Len(m),"0")&m
End Function


En waar heb je dat dan voor nodig?

Awel: om RSS feeds te genereren met een juiste datum notatie!


Ben ik dan de enige die dat met vbscript doet ? Tags: Blogging, in 't Nederlands, ScriptingGeef je reactie (0)