Ir para conteúdo

POWERED BY:

Arquivado

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

[ GuTo ]

Problemas com data BR e US

Recommended Posts

Fala galera, firmeza?

 

Estou tendo uns problemas com datas em formatos diferentes.

 

As páginas em ASP 3.0 estão sendo servidas EM TODO o site com Session.LCID = 1033, que é o código em inglês dos estados unidaos (en-us). Logo, as datas são servidas neste formato: mm/dd/yyyy

 

Já o banco ACCESS está em um windows em pt-br, logo guardando a data no formato: dd/mm/yyyy.

 

Meu problema:

Tenho uma tabela com 2 campos que são o foco do problema: dataInicial e dataFinal.

Em um loop no ASP, preciso fazer a comparação se AGORA está dentro do intervalo de dataInicial e dataFinal.

 

Um exemplo para tentarem entender:

response.write "<ol>"
While
  if dataInicial <= Now and Now <= dataFinal then
	response.write "<li>está no intervalo</li>"
  end if
Wend
response.write "</ol>"

O caso é que a comparação não fica certa, pq uma data está em pt-br e outra em en-us, vou mostrar um exemplo:

Hoje (data que estou publicando este post/pergunta) é dia 11 de julho de 2009, certo?

Representando isso em pt-br: 11/07/2009. Agora veja como uma app em pt br vê isso: 11 de julho de 2009 (OK :D )

Destaquei em verde o dia e em marrom o mês!

Representando isso em en-us: 07/11/2009. Agora veja como uma app em en-us vê isso: 07 de novembro de 2009 (Caraca, que droga!)

Aí vejam como o script faria a comparação:

obs.: abaixo o Now() eu substitui como se fosse date(), para não nos preocuparmos agora com horas, minutos e segundos, só pra facilitar o entendimento.

response.write "<ol>"
While
  if 01/07/2009 <= 07/11/2009 and 07/11/2009<= 30/07/2009 then
	response.write "<li>está no intervalo</li>"
  else
	response.write "<li>NÃO está no intervalo</li>"
  end if
Wend
response.write "</ol>"
Vejam o script acima. Ele dirá que está fora do intervalo, pq as datas estão em formatos diferentes.

 

Como poderia eu fazer para que conseguisse fazer a comparação de forma correta?

Valeu, abração!

 

Link relacionado: Entendendo o Session.LCID

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode converter antes de fazer a comparacao, existe uma funcaun para isso no lab de script, dá uma procurada

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma das funções que o xan se refere é essa aqui:

http://forum.imasters.com.br/index.php?showtopic=298401

 

com essa funções você pode converter a data no formato que quiser!

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.