DATAS NO VISUAL BASIC.NET
Bom dia Galera, mais uma vez recorro a vocês para ajudar-me com um pequeno e tranquilo problema.
Como faço para calcular datas no visual basic . net. Por exemplo:
Tenho um data de calibração do material (DataCalibracao.text) e uma data de Validade da calibração (dataValCal.text) e por fim a data atual do sistema no dia calibração (DataHoje.text) com isso preciso dizer que quando a datavalcal.text menos a datahoje.text for menor que 1 entao a calibração venceu e eu nao deixarei a calibração seguir mas este fim eu sei fazer. So preciso mesmo deste calculo de datas.
Alguem pode me ajudar Obrigado. Utilizei MaskedTextBox para as datas.
Obrigado.
Como faço para calcular datas no visual basic . net. Por exemplo:
Tenho um data de calibração do material (DataCalibracao.text) e uma data de Validade da calibração (dataValCal.text) e por fim a data atual do sistema no dia calibração (DataHoje.text) com isso preciso dizer que quando a datavalcal.text menos a datahoje.text for menor que 1 entao a calibração venceu e eu nao deixarei a calibração seguir mas este fim eu sei fazer. So preciso mesmo deste calculo de datas.
Alguem pode me ajudar Obrigado. Utilizei MaskedTextBox para as datas.
Obrigado.
Faça dessa forma:
Dica: Use o controle DateTimePicker ao invés do MaskedTextBox, facilita para o usuário definir a data e para você tratar essa data definada.
Fonte: DIAS DE DIFERENCA ENTRE DUAS DATAS
[ô][ô][ô] <summary>
[ô][ô][ô] Retorna a diferença em dias entre duas datas
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]DataInicial[Ô]>Data inicial</param>
[ô][ô][ô] <param name=[Ô]DataFinal[Ô]>Data final</param>
[ô][ô][ô] <returns>Diferença em dias entre as duas datas</returns>
[ô][ô][ô] <remarks></remarks>
Function SubtraiDataDia(ByVal DataInicial As DateTime, ByVal DataFinal As DateTime) As String
Return CStr(DateDiff(DateInterval.Day, DataFinal, DataInicial))
End Function
If Me.SubtraiDataDia(CDate(Me.dataValCal.text), CDate(Me.DataCalibracao.text)) < 0 Then
MessageBox.Show([Ô]Calibração vencida![Ô])
End If
Dica: Use o controle DateTimePicker ao invés do MaskedTextBox, facilita para o usuário definir a data e para você tratar essa data definada.
Fonte: DIAS DE DIFERENCA ENTRE DUAS DATAS
Acho que não entendi muito bem, tem como traduzir para o meu sistema por gentileza?
Obrigado mesmo.
Obrigado mesmo.
Cara, utilizando o exemplo do [txt-color=#e80000]JONATHANSTECKER[/txt-color], ficaria mais ou menos assim:
No click do botão você coloca
Se ainda tiver dificuldades, tenta este aqui:
No click do botão você coloca
Dim Data1 As Date = MaskedTextBox1.Text
Dim Data2 As Date = MaskedTextBox2.Text
Dim Resultado As integer = SubtraiDataDia(Data1, Data2)
If Resultado < 0 then MsgBox([txt-color=#e80000][Ô]INSS - Infelizmente Não Podemos Socorrê-lo[Ô][/txt-color])
Se ainda tiver dificuldades, tenta este aqui:
Dim Data1 As Date = MaskedTextBox1.Text
Dim Data2 As Date = MaskedTextBox2.Text
Dim Dias1 As Integer = Data1.DayOfYear
Dim Dias2 As Integer = Data2.DayOfYear
Dim Resultado As Integer = Dias2 - Dias1
MsgBox(Resultado)
No exemplo anterior, criei uma função que retorna a diferença em dias entre duas datas. (Usei a função DateDiff para isso)
Veja o exemplo abaixo... Neste estou fazendo a mesma coisa, porém sem criar nenhuma função.
Caso não entenda, poste a sua dúvida mais especifica, pois não sei o que você ão entendeu.
Veja o exemplo abaixo... Neste estou fazendo a mesma coisa, porém sem criar nenhuma função.
If CStr(DateDiff(DateInterval.Day, CDate(Me.dataValCal.text), CDate(Me.DataCalibracao.text))) < 0 Then
MessageBox.Show([Ô]Calibração vencida![Ô])
End If
Caso não entenda, poste a sua dúvida mais especifica, pois não sei o que você ão entendeu.
Dim Data1 As Date = MaskedTextBox1.Text
Dim Data2 As Date = MaskedTextBox2.Text
Dim Resultado As integer = SubtraiDataDia(Data1, Data2)
If Resultado < 0 then MsgBox([Ô]INSS - Infelizmente Não Podemos Socorrê-lo[Ô])
Fazendo este procedimento tenho o seguinte erro:
data1 value of [Ô]Date[ô] cannot be converted to [ô]interger[ô].
o mesmo para o data2
Dim Data2 As Date = MaskedTextBox2.Text
Dim Resultado As integer = SubtraiDataDia(Data1, Data2)
If Resultado < 0 then MsgBox([Ô]INSS - Infelizmente Não Podemos Socorrê-lo[Ô])
Fazendo este procedimento tenho o seguinte erro:
data1 value of [Ô]Date[ô] cannot be converted to [ô]interger[ô].
o mesmo para o data2
Muitoooo Obrigado Galera era exatamente isto aqui. Ficou perfeito. Obrigado mesmo.
If CStr(DateDiff(DateInterval.Day, CDate(Me.dataValCal.text), CDate(Me.DataCalibracao.text))) < 0 Then
MessageBox.Show([Ô]Calibração vencida![Ô])
End If
If CStr(DateDiff(DateInterval.Day, CDate(Me.dataValCal.text), CDate(Me.DataCalibracao.text))) < 0 Then
MessageBox.Show([Ô]Calibração vencida![Ô])
End If
Tópico encerrado , respostas não são mais permitidas