Fórum comparaçao de intervalos de datas #411912

25/01/2012

0

bom dia amigos da devmedia, gostaria de uma ajuda de voces, por exemplo eu tenho dois intervalos: 10/01/2012 a 15/01/2012 e o intervalo 08/01/2012 a 13/01/2012, eu queria pegar somente os dias do intervalo 2 que estao dentro do intervalo 1, por exemplo o intervalo 1 começa no dia 10, mas o intervalo 2 começa no dia 8 que e antes, queria que ignorasse os dias do intervalo 2 que nao estivesse no intervalo 1 e somasse quantos dias deu ....
banco firebird 2.1 e delphi 2010
se alguem puder me ajudar ficarei grato !!!
Willian Bento

Willian Bento

Responder

Posts

25/01/2012

Joel Rodrigues

Boa tarde.
Com alguma noção de conjuntos, podemos verificar o seguinte: o intervalo real (final) será formado por uma das duas datas iniciais e uma das duas datas finais.
Para exemplificar, tomemos algumas variáveis:
-inicial_1: primeira data do primeiro intervalo
-final_1: segunda data do primeiro intervalo
-inicial_2: primeira data do segundo intervalo
-final_2: segunda data do segundo intervalo
-inicial_real: primeira data do intervalo final
-final_real: segunda data do intervalo final

Então, temos:

SE inicial_1 > inicial_2 ENTÃO inicial_real = inicial_1 SENÃO inicial_real = inicial_2;

SE final_1 > final_2 ENTÃO final_real = final_2 SENÃO final_real = final_1;

Feito isso, é só contar quantos dias existem no intervalo final.

Espero que seja isso.
Boa sorte.
Responder

Gostei + 0

25/01/2012

Willian Bento

boa tarde.
com alguma noção de conjuntos, podemos verificar o seguinte: o intervalo real (final) será formado por uma das duas datas iniciais e uma das duas datas finais.
para exemplificar, tomemos algumas variáveis:
-inicial_1: primeira data do primeiro intervalo
-final_1: segunda data do primeiro intervalo
-inicial_2: primeira data do segundo intervalo
-final_2: segunda data do segundo intervalo
-inicial_real: primeira data do intervalo final
-final_real: segunda data do intervalo final

então, temos:

se inicial_1 > inicial_2 então inicial_real = inicial_1 senão inicial_real = inicial_2;

se final_1 > final_2 então final_real = final_2 senão final_real = final_1;

feito isso, é só contar quantos dias existem no intervalo final.

espero que seja isso.
boa sorte.


entao joel vou verificar e te falo o resultado obrigado
Responder

Gostei + 0

26/01/2012

Willian Bento

boa tarde.
com alguma noção de conjuntos, podemos verificar o seguinte: o intervalo real (final) será formado por uma das duas datas iniciais e uma das duas datas finais.
para exemplificar, tomemos algumas variáveis:
-inicial_1: primeira data do primeiro intervalo
-final_1: segunda data do primeiro intervalo
-inicial_2: primeira data do segundo intervalo
-final_2: segunda data do segundo intervalo
-inicial_real: primeira data do intervalo final
-final_real: segunda data do intervalo final

então, temos:

se inicial_1 > inicial_2 então inicial_real = inicial_1 senão inicial_real = inicial_2;

se final_1 > final_2 então final_real = final_2 senão final_real = final_1;

feito isso, é só contar quantos dias existem no intervalo final.

espero que seja isso.
boa sorte.

entao joel vou verificar e te falo o resultado obrigado


entao joel, deu certo muito obrigado, era isso mesmo que eu tava precisando, valeu pela ajuda, como faço para colocar o topico como resolvido ??
Responder

Gostei + 0

26/01/2012

Joel Rodrigues

Rapaz, tá aí uma pergunta que eu nunca soube responder. =/
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar