Rivx Posted July 1, 2012 Report Share Posted July 1, 2012 Hola señores: Soy yo de nuevo. Logré restar horas y minutos usando el Datediff sobre dos datetimepickers, pero pasaron dos problemas que se relacionaron: 1) al restar por minutos, lo hace la primera vez bien, pero al cambiar el valor de uno de los datetimepickers, transforma el resultado de horas en minutos, y para colmo, se los suma al resultado, logrando un resultado de, por ejemplo 119 minutos. 2) el resultado de dicha resta debe restarse a su vez a un número entero. Sé que son peras con manzanas, pero eso es lo que necesito. Espero puedan darme alguna idea. Les dejaré el código de las restas de los datetimepickers. Nos vemos. Dim fechaInicio As Date Dim fechaFinal As Date fechaInicio = cbo_h_i.Value fechaFinal = cbo_h_f.Value resultado = Abs(DateDiff(DateInterval.Hour, fechaInicio, fechaFinal)) resultado2 = Abs(DateDiff(DateInterval.Minute, fechaInicio, fechaFinal)) lb_indisponibilidad.Text = "" & resultado & ":" & resultado2 :8) Link to comment Share on other sites More sharing options...
susodicho Posted July 4, 2012 Report Share Posted July 4, 2012 (edited) :mmm: ¿Estás usando 2 DateTimePicker para seleccionar horas expresadas de la forma HH:mm? Creo que sería mejor si subes una captura de tu aplicación, donde se vean los valores de los DateTimePicker y qué es lo que aparece como resultado de la operación (ya sea correcto o incorrecto); y en caso de ser incorrecto, qué debería aparecer. Sobre la segunda pregunta, lo mismo, parece una mezcla de peras con manzanas, pero eso dependerá de qué representa el valor entero que tú mencionas (horas, minutos, milisegundos, ticks,...). Quizás haya que realizar alguna conversión antes de realizar la operación. Por favor, especifica qué representa (o unidad de medida) el valor entero. De todas formas, aquí te dejo un código que calcula la diferencia entre dos horas (HH:mm) seleccionadas a través de sus correspondientes DateTimePicker:[hide] Dim fecha1, fecha2 As Date Dim diff As TimeSpan Dim hoy As Date = Date.Today fecha1 = DateTimePicker1.Value fecha2 = DateTimePicker2.Value fecha1 = New Date(hoy.Year, hoy.Month, hoy.Day, fecha1.Hour, fecha1.Minute, 0) fecha2 = New Date(hoy.Year, hoy.Month, hoy.Day, fecha2.Hour, fecha2.Minute, 0) diff = fecha2.Subtract(fecha1).Duration() Label1.Text = String.Format("{0:D2}:{1:D2}", diff.Hours, diff.Minutes) [/hide] Edited July 4, 2012 by susodicho Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now