Asp ile Rss 2.0 için PubDate Problemi Çözümü


Asp ile Rss 2.0 için PubDate Problemi Çözümü

Merhaba okuizleuygula.net kullanıcıları, kendi yaşadığım bir problemin çözümünü sizlerle de paylaşmak istedim. Rss 2.0 da PubDate tagında belli bir tarih formatı girilmek zorunda, çoğu rss okuyucu site bu format dışında tarihleri kabul etmiyor. Örnek vermek gerekirse;

<pubDate>Tue, 18 Oct 2016 16:16:40 GMT</pubDate>

şeklinde tarih belirtilmelidir. Bunun haricindeki tarih formatları rss okuyucular tarafından okunmuyor. Gelelim bu problemin çözümüne.

<%
Function FormatlaTarih(byVal strTarih)
     If strTarih = "" or IsDate(strTarih) = False Then Exit Function
     Dim Gunler
     Dim Aylar

     blnSaat = True '// Eğer Saatin Gösterilmesini İstemiyorsanız Değeri False Yapın
     Gunler = Array("","Sun","Mon","Tue","Wed","Thu","Fri","Sat")
     Aylar = Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Agu","Sep","Oct","Nov","Dec")

     Saniye = Second(strTarih)
     Dakika = Minute(strTarih)
     Saat = Hour(strTarih)
     Gun = Day(strTarih)
     Gun_Adi = WeekDay(strTarih)
     Ay = Month(strTarih)
     Yil = Year(strTarih)

     If Len(Gun) < 2 then  Gun="0" & Gun
     If Len(Saat) < 2 then Saat="0" & Saat
     If Len(Dakika) < 2 then Dakika="0" & Dakika
     If Len(Saniye) < 2 then Saniye="0" & Saniye
     If Saniye = "00" and Dakika = "00" and Saat = "00" then blnSaat = False

     FormatlaTarih = Gunler(Gun_Adi)&", "&Gun&" "&Aylar(Ay)&" "&Yil

     If blnSaat then FormatlaTarih = FormatlaTarih &" "& Saat &":"& Dakika &":"& Saniye&" GMT"

End Function
%>

Bu fonksiyonu, <%=FormatlaTarih(now)%> şeklinde kullanabilirsiniz.

Şimdi geldik niye bu şekilde fonksiyon yazmaya, Rss siteleri türkçe dildeki ay, gün kısaltmalarını kabul etmiyor. Sunucunuzda kurulu sistem Türkçe ise şayet, yazdığınız fonksiyon Türkçe ay , gün isimleri yazacaktır ve bu da okuyucular tarafınan red yemenize sebep olacaktır. İngilizce kısaltmaların sebebi budur.