Hoje eu quero mostrar como executar cálculos entre datas confortáveis em Visual Basic. Net usando a função DateDiff.
Precisa de um formulário, botão, algum de rótulo e um controle DateTimePicker como mostrado na imagem abaixo:

e no evento click do botão será o seguinte código:
txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "anos" txtMeses.Text = DateDiff (DateInterval.Month, DateTimePicker1.Value, Now.Date) & "meses" txtSemanas.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) / 7 & "semanas" txtDias.Text = DateDiff (DateInterval.Day, DateTimePicker1.Value, Now.Date) & "dias"
executar o aplicativo, foi selecionada uma data passada e pressione o botão de calcular. O resultado será semelhante a esta imagem:

Este é um exemplo muito simples, basta olhar para alguns códigos e imagens e eu tenho certeza que você não terá dúvidas, mas se você tem alguma, é só deixar o seu comentário.
Espero que isso ajude.
Informações Bitacoras.com ...
Taxa em Bitacoras.com: Hoje eu quero mostrar como executar cálculos entre datas no Visual Basic Net usando a função DateDiff.. Precisa de um formulário, botão, algum rótulo? S e um controle DateTimePicker, como mostrado na fol ...
Olá antes de mais nada obrigado.
Eu tenho uma preocupação.
Hoje é 29 de abril, 2009
Eu nasci em setembro de 1980
segundo
txtAños.Text = DateDiff (DateInterval.Year, DateTimePicker1.Value, Now.Date) & "anos"
agora eu tenho 29 anos
mas isso não é assim, eu tenho 28 para o meu aniversário recentemente, em setembro
e modificar o código
obrigado novamente
Pedro, estender-lhe um pouco de informação:
Se Interval é definido como DateInterval.Year, o valor de retorno é simplesmente calculada a partir dos anos para peças das duas datas indicadas. Da mesma forma, o valor de retorno para DateInterval.Month é simplesmente calculada a partir das partes do ano e mês dos argumentos.
Por exemplo, quando se compara dezembro 31 - janeiro 1 no próximo ano, DateDiff retorna 1 para DateInterval.Year ou DateInterval.Month, mas apenas como muito se passou um único dia.
Nesses casos eu recomendo, por exemplo, use sempre a faixa e dividir por DateInterval.Day 365 e assim teria um valor mais exacto: 28,65 anos (por exemplo) e se você quiser apenas o ano em que você pode usar a função int () que irá retornar apenas parte de o número.
Um bom exemplo! Obrigado pela informação
Ei homens bom post que serviram-me a verdade, até agora está ajudando a câmera como eu Grax.
seu amigo post muito bom como você para definir o formato DateTimePicker DD / MM / AAAA eu recebo por qa MI (quinta - feira, 12 maio, 1999) e realmente não sei como
Olá José:
você só tem que mudar o Formatdel controle acionário da seguinte forma:
DateTimePicker1.Format = DateTimePickerFormat.Short
Sorte
A consulta é talvez demasiado fácil, mas eu poderia mudar a maneira de exibir a data no datetiempicker, para mim parece: sexta-feira, 27 novembro, 2009, a simples necessidade: 27/11/2009.
que seria, obrigado.
Desculpe, o comentário não tinha visto antes, que responde a minha pergunta, obrigado.
Boa tarde ... Eu tenho um problema ... Eu estou usando dois DateTimePicker em vb.net 2005 e quando eu seleciono uma data no DateTimePicker segunda devo tomar a diferença entre duas datas ... A função é iniciada no "ValueChanged" o segundo ... Se você executá-lo, mas eu sempre subtrair um dia do que eu deveria dar ... por exemplo ... Se eu deixar a data de hoje para o DateTimePicker primeiro (21/12/2009) e selecionado no segundo, no dia seguinte (22/12 / 2009) me retorna um valor de 0 ... se você selecioná-lo em 23 me retorna o valor de 1. A função que eu uso é o seguinte:
TextBox1.Text = CStr (DateDiff (DateInterval.Day, DTP_ShipDate.Value, DTP_ETA.Value))
Alguém sabe o que pode ser o que acontece, por favor?
Olá, como vai você?
Eu tenho uma consulta-los, como eu posso obter apenas o dia do FEHA, olha eu tenho uma caixa de texto onde eu mostro o feha "2009/01/01" e eu preciso de um dia.
Eu tenho esse
Dim dia inteiro
dia dia = (tfecha.text)
Eu não trago nada, mas colocar
Dim ano As Integer
ano ano = (tfecha.text)
I mostra o ano aqui, mas eu preciso do dia
Desculpe-me, como eu faço o que eu dataTimerPicker debuelva osso ano-mês-dia "aaaa / mm / dd" para selecionar uma data, eu preciso de uma consulta no mysql e datas neste formato mantém ("aaaa / mm / dd" ) .....
Se eu pudesse ser o guia agradesco ... Obrigado antecipadamente.
vB ps se houver função e formato de uso personalizado e CustomFormat yyy / MM / dd
Muito obrigado pela informação. Foi uma grande ajuda.
A boa gestão não é VB muito bom e eu estou trabalhando neste evento, mas eu recebo erro 424 bateu o pouco que tenho feito, espero sua ajuda
Range ("I10") = DateDiff (DateInterval.Month, TextBox18.Value, Now.Date)
Obrigado.
Eliseu bom amigo, obrigado pela sua função de me serviu, mas eu tenho um detalhe, o resultado dá-me o DateDiff é uma negativa, siga o exemplo você está dando, mas iguais, tentar passá-lo como string, int, cint, CStr, e nada alguma ajuda por favor.
Bem Eliseu desculpar o problema, mas boa e resolver o meu problema, mas acho que você colocou os parâmetros de ordem são o contrário, e eu quero dizer a data 1 e data 2, e depois deve ser Date1 Date2.
Bem corrigido, agora lutando com a comparação deste resultado.
Hey Amigo Obrigado Muito Útil
É muito fácil lol
Um resto de tarde tentando encontrar algo
Faça-me um grande eco por favor!