Ir para conteúdo

POWERED BY:

Arquivado

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

www

trabalhando com data

Recommended Posts

Seguinte galera...To trabalhando em cima de um sistema de data de nascimento de cientistas certo?SeguinteTenho um formulario com o campoDataPro cara buscar por exTodos os cientistas que nasceram por ex no dia 1/1/1980imaginem que tenho os seguintes registros no meu bda - datadenascimento (1/1/1980)b - datadenascimento (10/2/1970)c - datadenascimento (21/10/1960)certo?Tenho la o campo data pro cara buscar por datasó que no meu bd no campo texto que é o datadenascimento eu tenho as datas nesse formato 1/1/1980e se o cara digitar por ex 01/02/1980?ou 01/2/1980?eu preciso achar alguma forma de tirar o 0 da frente entendeu?alguem pode me ajudar?tipo alguma funcao que pegueo 01 e tire ai fica 1ai se o cara busca por ex 01/02/1980ele tira e fica 1/2/1980entenderam?alguem pode me ajudar?eh mto urgente e mto importante...nao achei nenhuma forma de fazer isso ou melhor EU NAO CONSIGO...rsrsrsrsValeu turminhaAgradeço de coração =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer um tratamento antes de mandar para o BD, usando esta função e ve se te ajuda:

Function trata_data(expr)

part1 = left(expr,6)

part2 = right(expr,4)

tira = replace(part1,"0","")

junta = tira + part2

trata_data = junta

End Function

 

str_data = "08/04/1980"

Response.Write trata_data(str_data)

abrs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opaaaaa beleza cara?EM primeiro lugar gostaria independente de qualquer coisa agradecer pela atenção e pela força, andei adicionando você aqui no meu icq...Bom testei a função que tu me passouE funcionou perfeitamente só que assim:Ela funcinou se eu difitar 08/04/1980 por exemplose eu digito 8/04/1980 ou 08/4/1980 ele dá pau...Tá com algum erro sei lá algo do tipo...O cara pode por ex digitar 8/04/1980 ai eu gostaria que tirasse o 0 da frente do 04 ... ou ele digitar 08/4/1980 eu queria que tirasse o 0 da frente do 08...e se fosse 08/04/1980 tirasse o 0 do 08 ficando 8 e o 0 do 04 ficando só o 4 (8/4/1980)tem como me dar mais um help e resolver isso pra mim?po valeu ai mesmo de coraçãonao manjooo nadaaa de função nada mermo...falow aeabraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala brother, beleza?

você poderia criar uma mascara em javascript para forçar o usuario a digitar certo, ou mesmo colocar um modelo de exemplo do lado da caixa de texto em vermelho ensinando o user a colocar a data, mas enfim..

isso, deve resolver seu problema:

Function trata_data(expr)

 

data = split(expr,"/")

data_d = data(0)

data_m = data(1)

data_a = data(2)

mesx = Replace(data_m,"0","")

   if (data_d < 9) then

    diax = Replace(data_d,"0","")

    data = diax&"/"&mesx&"/"&data_a

   Else

    data = data_d&"/"&mesx&"/"&data_a

  End if

trata_data = data

 

End function

 

str_data = "8/04/1980"

Response.Write trata_data(str_data)

Um abraço velhinho!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rock mto obrigado funcionou...Só que o seguinte eu fiz uma cagada aqui das grandesImagine que eu criei um campo do tipo textoe colokei as datas la agora nao consigo dar um order by data ne ? rsrsrsrs...to ferradoo que eu fiz foi mudar o campo data e por como tipo de dado data/horasó que agora as minhas datas caem no formato 04/04/04por exemploagora preciso de outraaa ajuda sua...a validacao que eu vou fazer eh meio que ao contrario agoraimagine que o cara digita 4/4/4eu preciso que ponha 04/04/04imagine que o cara digite 04/4/04que o sistema ponha 04/04/04imagine que o cara digite 04/04/2004que o sistema retire o 20 e ponha 04/04/04que o cara digite 4/4/2004que tire 0 20 e ponha os 0 ficando 04/04/04tem como fazer essa parada pra mim??VALEU BROTHERVALEU MESMO de coraçãosei que é f*** ficar resolvendo as paradas assim pra mim mais se puder resolver + essa pra mim vai quebrar um galhao...Ps: deixa os dados da sua conta bancaria ai pra depositosahuahuahuahuahuhuahuarsrsrsabraços velhinho !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eita velhinho, ve se tu nao me arranja mais desses problemas...hehehe.

cade meu cachê??? hehehe..brincadeirinha! :P

Function trata_data(expr)

 

data = split(expr,"/")

data_d = data(0)

data_m = data(1)

data_a = data(2)

   if Len(data_d) = 2 Then

     diax = data_d

  Else

  diax = "0" & data_d

   End if

 

   if Len(data_m) = 2 Then

     mesx = data_m

  Else

  mesx = "0" & data_m

   End if

 

   if Len(data_a) = 2 or Len(data_a) = 4 Then

     anox = right(data_a,2)

  Else

     anox = "0" & data_a

   End if

 

data = diax & "/" & mesx & "/" & anox

trata_data = data

 

End function

isso deve te ajudar, pelo amor de Deus, nao me faz mexer mais nessa função! :D :P

Abrçao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara Já fiz algo parecido com isso num sistema meu aqui. Vou posta a função e vê se server para alguma coisa. Private Function ValidacaoDatas () Dim Dia1, Dia2, Mes1, Mes2, Ano1, Ano2, Barra1, Barra11, Barra2, Barra22 Dia1 = Left (Session ("DtInicial"), 2) Dia2 = Left (Session ("DtFinal"), 2) If Left (Dia1,1) = "0" Or Left (Dia2, 1) = "0" Then Select Case Right (Dia1,1) Case "1" Dia1 = "1" Case "2" Dia1 = "2" Case "3" Dia1 = "3" Case "4" Dia1 = "4" Case "5" Dia1 = "5" Case "6" Dia1 = "6" Case "7" Dia1 = "7" Case "8" Dia1 = "8" Case "9" Dia1 = "9" End Select End If If Left (Dia1,1) = "0" Or Left (Dia2, 1) = "0" Then Select Case Right (Dia2,1) Case "1" Dia2 = "1" Case "2" Dia2 = "2" Case "3" Dia2 = "3" Case "4" Dia2 = "4" Case "5" Dia2 = "5" Case "6" Dia2 = "6" Case "7" Dia2 = "7" Case "8" Dia2 = "8" Case "9" Dia2 = "9" End Select End If Mes1 = Mid (Session ("DtInicial"), 4, 2) Mes2 = Mid (Session ("DtFinal"), 4, 2) Ano1 = Right (Session ("DtInicial"), 4) Ano2 = Right (Session ("DtFinal"), 4) Barra1 = Mid (Session ("DtInicial"), 3,1) Barra2 = Mid (Session ("DtFinal"), 3, 1) Barra11 = Mid (Session ("DtInicial"), 6,1) Barra22 = Mid (Session ("DtFinal"), 6, 1) With Response If ((Dia1="00" Or Dia2="00") Or (CInt (Dia1) > 31 Or CInt (Dia2) > 31)) Then .Write "<br><br><br><br><center>" .Write "<font color=red><b>ERRO !</b> O <i>Dia</i> foi digitado errado.</font><br><br>" .Write "<a href='java script:history.back(-1)' class='LinksMenores'>Corrigir o Dia</a>" .End() End If If ((Mes1="00" Or Mes2="00") Or (CInt (Mes1) > 12 Or CInt (Mes2) > 12) Or (Mes1="/" Or Mes2="/")) Then .Write "<br><br><br><br><center>" .Write "<font color=red><b>ERRO !</b> O <i>Mês</i> foi digitado errado.</font><br><br>" .Write "<a href='java script:history.back(-1)' class='LinksMenores'>Corrigir o Mês</a>" .End() End If If ((Ano1="0000" Or Ano2="0000") Or (CInt (Ano1) > Year(Date()) Or CInt (Ano2) > Year(Date()))) Then .Write "<br><br><br><br><center>" .Write "<font color=red><b>ERRO !</b> O <i>Ano</i> foi digitado errado.</font><br><br>" .Write "<a href='java script:history.back(-1)' class='LinksMenores'>Corrigir o Ano</a>" .End() End If If (Barra1 <> "/" Or Barra11 <> "/" Or Barra2 <> "/" Or Barra22 <> "/") Then .Write "<br><br><br><br><center>" .Write "<font color=red><b>ERRO !</b> A <i>Data</i> foi digitado errado. Verifique as barras ( / )</font><br><br>" .Write "<a href='java script:history.back(-1)' class='LinksMenores'>Corrigir a Data</a>" .End() End If End With Session ("Dia1") = CStr (Dia1) Session ("Dia2") = CStr (Dia2) Session ("Mes1") = CStr (Mes1) Session ("Mes2") = CStr (Mes2) Session ("Ano1") = CStr (Ano1) Session ("Ano2") = CStr (Ano2) DiaCompleto1 = Dia1 & "/" & Mes1 & "/" & Ano1 DiaCompleto2 = Dia2 & "/" & Mes2 & "/" & Ano2End Function Não sei se será útil... vai dá uma olhada ae. Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esqueci de Mencionar, Esse Função Acima, tem como entrada 2 váriaveis de Sessão Session("DtInicial") = 01/12/2003 Session("DtFinal")v = 31/12/2003 O que ele faz. Ele retira o 0 da frente de qualquer data, e não deixa o dia ser maior que 31, (Se for Bisexto phudeo, pq não arrumei ainda isso.), então ficará 1/12/2003. Também irá validar o Mês, tendo que ser diferente de 0 e menor que 12 e valida o ano também, o ano nunca poderá ser maio que o nosso ano atual. e fora que também valida as barras, se tiver outros caracters como - , . ... ele emite erro. OK!

Compartilhar este post


Link para o post
Compartilhar em outros sites

PQP vcs sao lindusss...ahuahuahuhuahuahuaE olha que nao sou v**** heim... =)eh eh eh eh ...Valeu ai de coração galera...Brigadao...Fico devendo mais essa pros ceis...Vou testar aqui e dou um toque qualquer coisa !Thanksss =)))))Uhuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

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.