Ir para conteúdo

POWERED BY:

Arquivado

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

jOcAjOcA

Contar dias entre data inicial e final

Recommended Posts

Preciso contar os dias entre a data inicial e final, excluindo DOMINGOS... Isso já faço com o script abaixo:

 

Dim DataInicial As Date	Dim DataFinal As Date	Dim TotalDias As Integer	Dim Dias As Integer			DataInicial = "06/03/2007"	DataFinal = "06/04/2007"	TotalDias = DateDiff("d", DataInicial, DataFinal)		Dias = 0	Semana = 0		For i = 1 To TotalDias		If Weekday(DateAdd("d", i, DataInicial)) <> 7 Then			Dias = Dias + 1		End If	Next
Agora preciso imprimir numa mesma página as datas de segunda a sábado... Então criei a variável SEMANA, mas não to sabendo como implementá-la ali no loop. Então, se Dias = 6, semana = 1... depois, mais 6 dias, semana = 2... daí consigo agrupar no Crystal pelo número da semana.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer saber quantas semanas ( SEG-SÁB ) existem no intervalo, ou quantos grupos de 6 dias (não importando onde comece ou termine)?

 

Caso seja grupos:

semanas = TotalDias \ 6
Caso você queria contar a sobra dos dias como outra semana você verifica o resto após a linha acima:

if TotalDias mod 6 <> 0 then semanas = semanas + 1
Caso seja semanas de SEG-SÁB:

'verificamos quantos dias apartir da datainicial fica a próxima segunda-feira, caso o valor seja negativo, acrescentamos 7 dias para pegar a próxima segunda.diasAteSegunda = 2 - weekday(DataInicial) if diasAteSegunda < 0 then diasAteSegunda = diasAteSegunda + 7semanas = (TotalDias - diasAteSegunda) \ 6
Lembrando que o operador \ retorna somente a parte inteira da divisão e mod o resto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria SEMANAS de SEG-SÁB mesmo.teria que ser assim:- início: "06/03/2007"- fim: "15/03/2007"aqui teria que me dar 2 semanas... ou seja, 1 semana que começou no dia 05/03, apesar de eu ter escolhido a partir de 06/03 e a segunda semana que começou no dia 12/03.obrigado.

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.