Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

interlokk

[Resolvido] ASP e RSS

Recommended Posts

olá pessoal.

 

A dúvida é em ASP e RSS. Tenho um script que gera um arquivo xml na versão RSS 2.0. Esse script gera o nodo puDate do XML da seguinte forma:

 

PubDate = pega-a-data-do-registro-no-bd
PubHour = Hour(PubDate)
if PubHour < 10 then PubHour = "0" & PubHour
PubMin = Minute(PubDate)
if PubMin < 10 then PubMin = "0" & PubMin
PubSec = Second(PubDate)
if PubSec < 10 then PubSec = "0" & PubSec
PubDateT = WeekdayName(Weekday(PubDate), TRUE) & ", " & Day(PubDate) & " " & _
MonthName(Month(PubDate), TRUE) & " " & Year(PubDate) & " " & _
PubHour & ":" & PubMin & ":" & PubSec & " GMT"

Response.Write "<pubDate>" & PubDateT & "</pubDate>"  & vbCrlf

Essa rotina me devolve o pubDate no seguinte formato:

 

<pubDate>ter, 27 out 2009 10:43:03 GMT</pubDate>

 

Preciso corverter esse formato para o formato RFC822 que me retorna o pubDate da seguinte forma:

 

<pubDate>Sun, 15 Nov 2009 09:12 -0300</pubDate>

 

Preciso mudar o formato porque o primeiro não aparece quando o xml é lido pelo FF ou IE.

 

Alguém tem uma dica de como faço isso, pois o valor WeekdayName me retorna o nome da semana em portugues e não em ingles.

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada no forum k existem exemplos k pode te ajudar e olha esta funcaun k converte

 

<%
Function FormatDateRFC822(ByVal DataHora)
	Dim Semana
	Dim Dia
	Dim Mes
	Dim Ano
	Dim Hora
	Dim Minuto
	Dim Segundo
	Dim GMT
	
	If IsDate(DataHora) Then
		'Dia da Semana
		Select Case Weekday(DataHora)
			Case 1 Semana = "Sun"
			Case 2 Semana = "Mon"
			Case 3 Semana = "Tue"
			Case 4 Semana = "Wed"
			Case 5 Semana = "Thu"
			Case 6 Semana = "Fri"
			Case 7 Semana = "Sat"
		End Select
		'Dia do Mês
		Dia = Day(DataHora)
		If Dia < 10 Then Dia = "0" & Dia
		'Mês
		Select Case Month(DataHora)
			Case 1 Mes = "Jan"
			Case 2 Mes = "Feb"
			Case 3 Mes = "Mar"
			Case 4 Mes = "Apr"
			Case 5 Mes = "May"
			Case 6 Mes = "Jun"
			Case 7 Mes = "Jul"
			Case 8 Mes = "Aug"
			Case 9 Mes = "Sep"
			Case 10 Mes = "Oct"
			Case 11 Mes = "Nov"
			Case 12 Mes = "Dec"
		End Select
		'Ano
		Ano = Year(DataHora)
		If Len(Ano) = 2 Then Ano = "20" & Ano
		'Hora
		Hora = Hour(DataHora)
		If Hora = 0 Then Hora = "00"
		'Minuto
		Minuto = Minute(DataHora)
		If Minuto = 0 Then Minuto = "00"
		'Segundo
		Segundo = Second(DataHora)
		If Segundo = 0 Then Segundo = "00"
		
		'Montando o resultado
		GMT = Semana & ", " & Dia & " " & Mes & " " & Ano & " " & Hora & ":" & Minuto & ":" & Segundo & " GMT"
	Else
		GMT = ""
	End If

	'Retornando a função
	FormatDateRFC822 = GMT
End Function
%>

'e para usar

<%  
Response.Write FormatDateRFC822(Now())
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu xanburzum. Por coincidência eu tava testando essa função que você postou e que eu também tinha achado no google. A mesma funcionou bem. Só que no FF alguns registros ainda não retornam data. No IE funciona direitinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.