SUBTRAIR HORAS ! URGENTE POR FAVOR !
Olá a todos, não sei como fazer uma operação, eu tenho duas textbox :
Hora de entrada : 07:00
Hora de saÃda: 19:00
O que eu quero é o seguinte, exemplo, se o Joao chegar no trabalho as 07:25, ele vai ficar devendo 25 minutos de trabalho. Entenderam ?
Se chegar depois da 07:00 e/ou sair antes das 19:00 vai ficar devendo tantas horas, era isso o que eu queria fazer, subtrair o total de horas e colocar esse valor subtraido em outra textbox.
Estou usando VB6 !
Hora de entrada : 07:00
Hora de saÃda: 19:00
O que eu quero é o seguinte, exemplo, se o Joao chegar no trabalho as 07:25, ele vai ficar devendo 25 minutos de trabalho. Entenderam ?
Se chegar depois da 07:00 e/ou sair antes das 19:00 vai ficar devendo tantas horas, era isso o que eu queria fazer, subtrair o total de horas e colocar esse valor subtraido em outra textbox.
Estou usando VB6 !
Amigo, depois que fiz o exemplo é que vi que, é para vb6, esse que fiz é para vb.net
Mas tenta ai, pode até dar, talvez com alguma modificação.
Se não me engano no vb6 é assim:
DateDiff(m, _HEntrada, _HChegada)
é por isso que aconselho todos a migrar para .net, é bem mais facilitada nossa vida.
Boa Sorte.
VB.net
Dim _HEntrada As DateTime = TextBox1.Text
Dim _HChegada As DateTime = TextBox2.Text
TextBox3.Text = DateDiff(DateInterval.Minute, _HEntrada, _HChegada)
Mas tenta ai, pode até dar, talvez com alguma modificação.
Se não me engano no vb6 é assim:
DateDiff(m, _HEntrada, _HChegada)
é por isso que aconselho todos a migrar para .net, é bem mais facilitada nossa vida.
Boa Sorte.
VB.net
Dim _HEntrada As DateTime = TextBox1.Text
Dim _HChegada As DateTime = TextBox2.Text
TextBox3.Text = DateDiff(DateInterval.Minute, _HEntrada, _HChegada)
Dim data As String
data = (DateTime.Parse(txthorasaida.Text) - DateTime.Parse(txthorachegada.Text)).ToString()
txttempo.Text = Trim(data)
data = (DateTime.Parse(txthorasaida.Text) - DateTime.Parse(txthorachegada.Text)).ToString()
txttempo.Text = Trim(data)
é assim datediff vai te dar a diferença entre duas horas que poderá ser em horas(h) minutos(n) segundos(s) ou dias, meses e anos, depois vc deverá comparar esta diferença com o tempo de serviço que o funcionário deve trabalhar.
ex:
é isso ai
ex:
Dim HoraIni As Date
Dim HoraFim As Date
Dim TempoTrab As Interger
Dim Diferenca As Integer
Dim Resultado As Integer
Horaini = txtEntrada.Text
HoraFim = txtSaida.Text
diferenca = Datediff([Ô]n[Ô], Horaini, HoraFim)[txt-color=#007100] [ô] como vc deseja o resultado em minutos deverá fazer o calculo em minutos[/txt-color]
TempoTrab = 8 * 60[txt-color=#007100] [ô] aqui converto 8 horas em minutos para poder fazer o calculo[/txt-color]
[txt-color=#007100][ô] agora farei o calculo[/txt-color]
Resultado = TempoTrab - diferenca
é isso ai
A bicuda machucou o dedão.
Acima,o meu é vb2010 ou.
vb6 retirado de outros.
Este também da certo.
Dim Interval As Double, totalhours As Double, totalminutes As Double, minutes As Double, hours As Double
Interval = CDate(txtsaida.Text) - CDate(txtentrada.Text)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
txtresult.Text = totalhours & [Ô]:[Ô] & minutes
Acima,o meu é vb2010 ou.
vb6 retirado de outros.
Este também da certo.
Dim Interval As Double, totalhours As Double, totalminutes As Double, minutes As Double, hours As Double
Interval = CDate(txtsaida.Text) - CDate(txtentrada.Text)
totalhours = Int(CSng(Interval * 24))
totalminutes = Int(CSng(Interval * 1440))
minutes = totalminutes Mod 60
hours = totalhours Mod 24
txtresult.Text = totalhours & [Ô]:[Ô] & minutes
Dim Tempo As Date
Tempo = DateDiff([Ô]n[Ô], hora1, hora2)
Tempo = Format(Int((Tempo) / 60), [Ô]00[Ô]) & Format(Tempo Mod 60, [Ô]00[Ô])
ttempot = Format(Tempo, [Ô]00:00[Ô])
LblSaldo.Caption = ttempot
Tempo = DateDiff([Ô]n[Ô], hora1, hora2)
Tempo = Format(Int((Tempo) / 60), [Ô]00[Ô]) & Format(Tempo Mod 60, [Ô]00[Ô])
ttempot = Format(Tempo, [Ô]00:00[Ô])
LblSaldo.Caption = ttempot
Bom Dia,
Andei pesquisando por calculo de data/hora e não encontrei nada que dava jeito!
Consegui montar esta pérola vendo o que foi postado no topico...
Andei pesquisando por calculo de data/hora e não encontrei nada que dava jeito!
Consegui montar esta pérola vendo o que foi postado no topico...
Citação:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = Nothing Or TextBox2.Text = Nothing Then
MsgBox([Ô]entre com os valores corretos![Ô], vbExclamation)
GoTo salta
End If
[ô] Dim dif As Long, resultado As Long
Dim hi As DateTime = TextBox1.Text
Dim hf As DateTime = TextBox2.Text
Dim hh As String
Dim mm As String
hh = DateDiff(DateInterval.Hour, hi, hf)
mm = DateDiff(DateInterval.Minute, hi, hf)
mm = mm Mod 60
TextBox3.Text = hh & [Ô]:[Ô] & mm
salto:
end sub
Vb6 não aceita isto.
Foi postado em VB / VBA.
Foi postado em VB / VBA.
Faça seu login para responder