Ir para conteúdo

POWERED BY:

Arquivado

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

AMON-HÁ

Acabaram seus problemas com Data e Hora

Recommended Posts

Bom galera...

sei que muita, mas muita gente mesmo, logo qnd inicia no ASP tem um enorme problema com formatação de data e hora... talvés este seja um dos temas mais freqüêntes nos fóruns...

Como sempre, lá vai o pessoal fazer script de formatação de data pros kaba... que em boa parte das vezes nunca tá satisfeito... pq ele queria que o dia ficasse assim e o ano naquele outro lugar... é uma luta...

Assim, procurando resolver de vez esse problema eu fiz aki uma funçãozinha boketa, mas que vai resolver de vez esse incomodo...

entaum vamos lá... vou explicar direitinho para que naum aja dúvidas...

Primeiro vamos a função de formatação de Datas...

Function FormatoData(formato)	If Len(Day(Date)) = 1 Then		Dia = 0 & Day(Date)	Else		Dia = Day(Date)	End If	If Len(Month(Date)) = 1 Then		Mes = 0 & Month(Date)	Else		Mes = Month(Date)	End If	Ano = Year(Date)	DataFinal = Replace(formato, "NMdd", WeekDayName(WeekDay(Date)))	DataFinal = Replace(DataFinal, "NMmm", MonthName(Month(Date)))	DataFinal = Replace(DataFinal, "ABmm", MonthName(Month(Date), True))	DataFinal = Replace(DataFinal, "dd", Dia)	DataFinal = Replace(DataFinal, "mm", Mes)	DataFinal = Replace(DataFinal, "aaaa", Ano)	DataFinal = Replace(DataFinal, "aa", Mid(Ano, 3, 2))	FormatoData = DataFinalEnd Function
Para você chamar a função usa se: FormatoData("dd/mm/aa")

escrevendo na tela por exemplo: Response.Write FormatoData("dd/mm/aa")

 

o grande segredo está na parte entre parenteses... é lá que você vai colocar a string com o formato da data que você quer que seja retornado na tela... lá você pode colocar quaquer porkaria... vai da sua criatividade... rs

desde que cumpra algumas determinações:

NMdd = nome do dia Ex: sábado

NMmm = nome do mes Ex: novembro

ABmm = abreviação do mes Ex: nov

dd = dia Ex: 12

mm = mes Ex: 11

aaaa = ano Ex: 2005

aa = ano Ex: 05

ou seja... todos esses representativos seram substituido pelo seu correspondente valor...

vamos a alguns exemplos práticos:

Response.Write FormatoData("dd.mm.aaaa")

retorna: 12.11.2005

Response.Write FormatoData("NMdd, dd de NMmm de aaaa")

retorna: sábado, 12 de novembro de 2005

Response.Write FormatoData("minha mãe disse que hoje é NMdd e o mês é NMmm")

retorna: minha mãe disse que hoje é sábado e o mês é novembro

Response.Write FormatoData("mm-aaaa-dd")

retorna: 11-2005-12

entenderam...???

agora uma observação básica...

caso queira que as palavras que aparecerem em extenso esteja na lingua portuguesa, independente da configuração do servidor... você precisa colocar a seguinte linha no inicio da sua página...

<% Session.LCID = XXXX %>
onde XXXX é o numero do LCID do pais correspondente...

assim... para os valores em extenso aparecerem em portugês usa-se 1046

separei algumas que achei mais importante... porém existe inumeros...

Português = 1046

Espanhol = 3082

Francês = 1036

Inglês = 1033

Italiano = 1040

Bom... sobre a data acaba aqui...

vamos agora para a formatação da Hora...

 

Function FormatoHora(formato)	If Len(Hour(Time)) = 1 Then		Hora = 0 & Hour(Time)	Else		Hora = Hour(Time)	End If	If Len(Minute(Time)) = 1 Then		Minuto = 0 & Minute(Time)	Else		Minuto = Minute(Time)	End If		If Len(Second(Time)) = 1 Then		Segundo = 0 & Second(Time)	Else		Segundo = Second(Time)	End If		HoraFinal = Replace(formato, "hh", Hora)	HoraFinal = Replace(HoraFinal, "mm", Minuto)	HoraFinal = Replace(HoraFinal, "ss", Segundo)	FormatoHora = HoraFinalEnd Function
A lógica é a mesma...

hh = hora

mm = minuto

ss = segundo

assim como a função anterior a essa, você pode usar qualquer caracter pra separar entre horas, minutos e segundos... naum exatamente nessa mesma ordem... hehehe

vou citar uns dois exemplos aki tb...

Response.Write FormatoData("hh:mm:ss")

retorna: 15:32:58

Response.Write FormatoData("hh:mm")

retorna: 15:32

 

Bom... tenham uma boa sorte ae.... espero que ajude você em alguma coisa... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa... beleza AAlves... muito bom... agora ficou mais apresentável...

vejam ae como ficou...

FUNÇÃO PRA FORMATAR A DATA

Function FormatoData(formato)	Dia = Right("0" & Day(Date), 2)	Mes = Right("0" & Month(Date), 2)		Ano = Year(Date)	DataFinal = Replace(formato, "NMdd", WeekDayName(WeekDay(Date)))	DataFinal = Replace(DataFinal, "NMmm", MonthName(Month(Date)))	DataFinal = Replace(DataFinal, "ABmm", MonthName(Month(Date), True))	DataFinal = Replace(DataFinal, "dd", Dia)	DataFinal = Replace(DataFinal, "mm", Mes)	DataFinal = Replace(DataFinal, "aaaa", Ano)	DataFinal = Replace(DataFinal, "aa", Mid(Ano, 3, 2))	FormatoData = DataFinalEnd Function
FUNÇÃO PRA FORMATAR A HORA

Function FormatoHora(formato)	Hora = Right("0" & Hour(Time), 2)	Minuto = Right("0" & Minute(Time), 2)	Segundo = Right("0" & Second(Time), 2)	HoraFinal = Replace(formato, "hh", Hora)	HoraFinal = Replace(HoraFinal, "mm", Minuto)	HoraFinal = Replace(HoraFinal, "ss", Segundo)	FormatoHora = HoraFinalEnd Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só acrescentando mais uma linha a função FormatoData...

Function FormatoData(formato)	Dia = Right("0" & Day(Date), 2)	Mes = Right("0" & Month(Date), 2)		Ano = Year(Date)	DataFinal = Replace(formato, "NMdd", WeekDayName(WeekDay(Date)))	DataFinal = Replace(DataFinal, "NMmm", MonthName(Month(Date)))	DataFinal = Replace(DataFinal, "ABdd", WeekDayName(WeekDay(Date), TRUE))	DataFinal = Replace(DataFinal, "ABmm", MonthName(Month(Date), TRUE))	DataFinal = Replace(DataFinal, "dd", Dia)	DataFinal = Replace(DataFinal, "mm", Mes)	DataFinal = Replace(DataFinal, "aaaa", Ano)	DataFinal = Replace(DataFinal, "aa", Mid(Ano, 3, 2))	FormatoData = DataFinalEnd Function
a linha

DataFinal = Replace(DataFinal, "ABdd", WeekDayName(WeekDay(Date), TRUE))

foi acrescentada ao código...

retorna o NOME do dia da semana e abreviado...

exemplo:

Response.Write FormatoData("ABdd")

retorna: seg ... caso hoje seja segunda...

use ABdd...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu chamo a função assim : Response.Write FormatoData(rsConsulta("data"))retorna: 12/11/2005mas em outra parte da pargina eu queria obter esse formato de datasábado, 12 de novembro de 2005eu teria que mexer na função ??? se for isso, eu teria uma função para cada formato de dataValeu

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.