none
Ano bissexto entre intervalos de duas datas com dtp? RRS feed

  • Pergunta

  • Olá pessoal! Estou com uma dúvida, como posso pegar a quantidade de anos bissextos entre dois intervalos de datas através de dois datetimepickers? Ou seja, o usuário preenche a data inicial e a final e programa calcula quantos anos tiveram no intervalo passado por ele?
    domingo, 6 de fevereiro de 2011 21:57

Respostas

  • Ou então você usa a função .IsLeapYear()

    Ex.:

    Dim Count As Integer = 0
    For i As Integer = DataTimePickerInicio.Value.Year To DataTimePickerFim.Value.Year
         If Date.IsLeapYear(i) Then
            Count += 1
         End If
    Next
    

     


    Att. Osni
    • Sugerido como Resposta Luiz Estevam segunda-feira, 7 de fevereiro de 2011 11:36
    • Marcado como Resposta adelar segunda-feira, 7 de fevereiro de 2011 12:37
    segunda-feira, 7 de fevereiro de 2011 10:51

Todas as Respostas

  • Para calcular a quantidade de anos entre as datas você terá que usar o timespan, veja o link abaixo o uso:

    http://www.macoratti.net/vbn_time1.htm

    Como o TimeSpan, você conseguirá a diferença entre as datas em dias então você divide por 365 para saber quantos anos a no total ok!

    Com o total de anos você faz um for, pegando o ano da primeira data e vai testando para verificar se é bissexto.

    Exemplo:

    O ano da primeira data é 1990, se compararmos com a data atual seriam 21 anos de diferença, então no for ficaria mais ou menos assim:

    Dim i As Integer
    Dim ano As Integer = 1900
    for i = 0 to 21 'sua variavel
    	if ( (ano+i) MOD 4 = 0 ) 
                    ' Ano bissexto
    Next

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    segunda-feira, 7 de fevereiro de 2011 01:45
  • Ou então você usa a função .IsLeapYear()

    Ex.:

    Dim Count As Integer = 0
    For i As Integer = DataTimePickerInicio.Value.Year To DataTimePickerFim.Value.Year
         If Date.IsLeapYear(i) Then
            Count += 1
         End If
    Next
    

     


    Att. Osni
    • Sugerido como Resposta Luiz Estevam segunda-feira, 7 de fevereiro de 2011 11:36
    • Marcado como Resposta adelar segunda-feira, 7 de fevereiro de 2011 12:37
    segunda-feira, 7 de fevereiro de 2011 10:51
  • É isso mesmo que eu precisava...Valeu amigos! Muito obrigado!
    segunda-feira, 7 de fevereiro de 2011 12:36