PUBLICIDADE

Autor

gabriel

Gabriel Fróes

membro deste junho de 2006

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

O buscador Bing, da Microsoft, conseguirá alcançar o Google?

Formatar data e hora com o padrão RFC-822


Trabalhando com RSS percebi que era preciso formatar a data e a hora da notícia em conformidade com o RFC822 (por exemplo: Thu, 28 Dec 2006 16:37:32 GMT).

Verifiquei que a data deste formato é muito utilizado hoje em aplicações web e como não encontrei nenhuma função que fizesse a conversão de Data/Hora para este formato, desenvolvi esta função.
<%
'-----------------------------------------------------
'Nome: FormatDateRFC822(ByVal DataHora)
'Sinopse: Formata uma data no padrão RFC-822
'		  exemplo: 'Thu, 28 Dec 2006 16:37:32 GMT'
'Parametros:
'   DataHora: Data e Hora
'Retorno: String
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
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

'-------------------------------
'EXEMPLO DE CHAMADA
'-------------------------------
Response.Write FormatDateRFC822(Now())
%>

Sim   Não   Este código foi útil para você?
NotaComentário
Ainda não foi enviado nenhum comentário.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.