comparaçao de intervalos de datas
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 !!!
banco firebird 2.1 e delphi 2010
se alguem puder me ajudar ficarei grato !!!
Willian Bento
Curtidas 0
Respostas
Joel Rodrigues
25/01/2012
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.
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.
GOSTEI 0
Willian Bento
25/01/2012
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.
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
GOSTEI 0
Willian Bento
25/01/2012
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
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 ??
GOSTEI 0
Joel Rodrigues
25/01/2012
Rapaz, tá aí uma pergunta que eu nunca soube responder. =/
GOSTEI 0