Ir para conteúdo

POWERED BY:

Arquivado

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

Web Design Valdeci

Problemas com data

Recommended Posts

Boa Tarde Pessoal,

 

Estou desenvolvendo um sistema. Na hora de inserir da data ele muda para mm/dd/aaaa, mas isto somente quando o dia for menor que o mês, tipo se a data é 01/12/2008 ele insere no banco 12/01/2008 quando a data é maior tipo 24/12/2008 ele insere certinho. No form está certinho assim: 01/12/2008, o problema é na hora que insere, utilizei um formatador de datas mas não adiantou em nada.

 

Coloco o código abaixo se alguem puder me ajudar:

 

Function FormataData(Data)
   If Data <> "" Then FormataData =  Right("0" & DatePart("d", Data),2) & "/" & Right("0" & DatePart("m", Data),2) & "/" & DatePart("yyyy", Data)
End Function
opc = request.querystring("opc")
IF opc = "inserir" THEN
  Session.LCID = 1046
  atendente = request.form("atendente") 
  segmentos = request.form("segmentos") 
  subcategorias = request.form("subcategorias") 
  servicos = request.form("servicos") 
  medicos = request.form("medicos")
  if request.form("hospitais") <> "0" then
  hospitais = request.form("hospitais")
  else
  hospitais = request.form("contato")
  END IF
  setor = request.form("setor")
  data = FormataData(request.form("data"))
  hora = request.form("hora")
  visita = request.form("visita")
  obs = request.form("obs")
  data_add = day(now)&"/"&month(now)&"/"&year(now)
  hora_add = time()	  
  Set cs_inserir = Server.CreateObject("ADODB.Recordset")
  cs_inserir.ActiveConnection = strcon
  cs_inserir.Source = "INSERT INTO Informacoes (IdUsuario,IdHospital,IdMedico,IdSetor,IdCategoria,IdSubcategoria,IdProduto,o
bs,data_add,hora_add,data,visita,hora) VALUES("&atendente&","&hospitais&","&medicos&","&setor&","&segmentos&","&subcategorias&","&servicos&",'"&obs&"','"&data_add&"','"&hora_add&"','"&data&"',"&visita&",'"&hora&"')"
  cs_inserir.CursorType = 0
  cs_inserir.CursorLocation = 3
  cs_inserir.LockType = 1
  cs_inserir.Open()
  Response.Redirect("informacoesOk.asp")
  END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa

 

Isso é configuração do seu banco de dados. Se estiver num server em inglês a data vai acompanhar o formato americano ok.

 

Agora se estiver em Portugues tente usar a diretiva no início da página Session.LCID = 1036 (formato Portugues)

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu server é nos EUA. Coloquei no banco de dados Tipo de Dados como Data e formato Data Abreviada, banco Access. Não funfou... nao entendo pq rola isso, apenas quando o dia é menor que o mês ele troca os dois.

 

Se souber outra configuração serei grato.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode colocar o Session.LCID=”1046” ou Tb pode usar uma função para manipular a Data e mostra-la do seu do jeito.

 

 

 

Function UniversalDate(dteDate)
   If IsDate(dteDate) = True Then
	  dteDay = Day(dteDate)
	  dteMonth = Month(dteDate)
	  dteYear   = Year(dteDate)
	  UniversalDate = dteYear & "-" & Right(Cstr(dteMonth + 100),2) & "-" & Right(Cstr(dteDay + 100),2)
   Else
	  UniversalDate = Null
   End If
End Function

'****************************************************************************
********
'***** Display Date Format Function *************************************************
'****************************************************************************
********

Function FormatDisplayDate(aDate)
   aDate = cdate(aDate)
   aDay = Day(aDate)
   aMonth = Month(aDate)
   aYear   = Year(aDate)
   SELECT CASE DateDisplayFormat
	 CASE "US"
	   FormatDisplayDate = Right(Cstr(aMonth + 100),2) & "/" & Right(Cstr(aDay + 100),2) & "/" & aYear
	 CASE "EURO" ' EURO (dd/mm/yyyy) 
	 
	 CASE "UNIVERSAL"
	 
	 CASE ELSE
	   FormatDisplayDate = Right(Cstr(aMonth + 100),2) & "-" & Right(Cstr(aDay + 100),2) & "-" & aYear
   END SELECT

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se as dicas acima não ajudar, faça uma pesquisa aqui no Fórum... essa dúvida já foi discutida várias vezes.

 

Se não conseguir resolver, poste aqui o resultado dos testes para buscarmos outras soluções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara dá um saque nessa função. Ela resolve todos os meus problemas com data. Se teu problema continuar, poderá ser um erro de configuração do banco de dados.

 

 

<%
' funcao geral para formatos de data
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 = DataFinal
End Function
%>

 

Exemplo de uso:

<input name="data" id="data" value="<%=FormatoData("NMdd, dd de NMmm de aaaa")%>" />

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.