Ir para conteúdo

POWERED BY:

Arquivado

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

rd111072

[Resolvido] Converter data e mês para formato "português"

Recommended Posts

Boa tarde, moçada.

 

Sei que existem diversos tópicos sobre este assunto no fórum, mas não encontrei em nenhum deles a solução pro meu problema. Olha que eu procurei muito...

 

Seguinte:

 

tenho um form que envia a data e o mês para um banco SQL desta forma:

 

<input type="text" name="data" value="<%=date%>" size="8" class="submitc" readonly="true">

e

<input type="text" name="mes" value="<%Response.Write FormatoData("NMmm")%>" size="8" class="submitc">

 

 

No form é exibido normal: data "24/07/2008", mês "julho".

No SQL, os campos são varchar mesmo.

 

Quando mando exibir numa outra página (área administrativa) exibe tudo errado:

 

data "7/24/2008", mês "July"!

 

Como faço pra consertar isso?

 

Alguém sabe???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque a Session.LCID para o valor do Brasil se nao me engano é 1046

 

Poe no inicio do codigo isso

 

Session.LCID = 1046

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente não estou conseguindo entender, pois o valor passado pelo campo mês é julho (como aparece no input) mas no banco gravou July...

Estranho!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive um problema semelhante. Para resolver, fiz uma função bem simples pra controlar a data:

dim dia, mes, ano
dia = day(data)
mes = month(data)
ano = year(data)

onde data é a variável que recebe o valor passado por formulário aí eu inseri no campo assim:

 

'"&dia&"/"&mes&"/"&ano&"'

Já que está usando o mês, use também monthName(data). E deixe o collation da tabela como latin_general_ci. Deixe o campo como date se quiser ordenar por data, senão não dá certo.

 

Fiz assim e deu, mas eu estava usando access. Veja se funciona.

 

 

Já coloquei, assim:

 

<%Session.LCID = 1046 %>

 

não funcionou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se no banco está gravando como JULY, tem certeza de que o campo está como VARCHAR e não DATETIME?

 

Eu tive este problema e pode ser duas coisas:

 

1 - Seu banco não está configurado para utilizar o padrão de data brasileiro

2 - ele está utilizando o padrão de data correto mas na hora de retornar para a página ele traz desta maneira

 

Eu criei um java script que converte para o padrão de data brasileiro, mas para isto tem que retornar do banco de dados no padrão AAAAMMDD, ou voc~e pode já trazer convertido direto do banco de dados, utilizando o Convert(CHAR(8), CAMPO, 112), isto traz neste padrão que falei AAAAMMDD

 

Function FormataDataNacional(Data)
	Dim DataAux
	
	If Day(Data) < 10 Then 
		DataAux = "0" & Day(Data)
	Else
		DataAux = Day(Data)
	End If
	
	If Month(Data) < 10 Then 
		DataAux = DataAux & "/" & "0" &  Month(Data)
	Else
		DataAux = DataAux & "/" & Month(Data)
	End If

	DataAux = DataAux & "/" & Year(Data)
	FormataDataNacional = DataAux 

End Function

Espero ter ajudado

 

Abraços

 

Jorge

www.probuilding.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu seu problema

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.