none
RESTAR HORAS MINUTOS Y FECHAS EN VB.NET 2008 RRS feed

  • Pregunta

  • Gracias por ayudar.

    Hola muchachos del foro soy yo de nuevo necesito que me ayuden con la resta de fechas he intentado con el sgte codigo pero me da datos erroneos

    dias = DateDiff(DateInterval.Day, FechaEntrada, FechaSalida)
    horas = DateDiff(DateInterval.Hour, horaEntrada, HoraSalida)
    minutos = DateDiff(DateInterval.minute, horaEntrada, HoraSalida)
    e igual para los segundos pero no he conseguido el resultado que quiero de antemano les agradesco su colaboracion

    GRACIAS
    (CRIMAC)
    martes, 18 de agosto de 2009 20:15

Respuestas

  • Hola:

    Si deseas obtener la diferencia entre dos fechas, no hay nada tan fácil como asignarle un objeto TimeSpan al resultado de llamar al método Subtract de la clase DateTime.

    Por ejemplo, para calcular los días, horas, minutos y segundos transcurridos desde primero de año, ejecutaríamos lo siguiente:

            Dim fechaInicial As New DateTime(2009, 1, 1)

            Dim ts As TimeSpan = DateTime.Now.Subtract(fechaInicial)

            Dim dias As Int32 = ts.Days
            Dim horas As Int32 = ts.Hours
            Dim minutos As Int32 = ts.Minutes
            Dim segundos As Int32 = ts.Seconds

    Recuerda marca la respuesta como satisfactoria si la misma te ha resultado útil.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    miércoles, 19 de agosto de 2009 15:05
    Moderador
  • hola,

    tienes varias formas de hacerlo, puedes restar una fecha con otr con este metodo
    DateTime.Subtract

    o si tienes una fecha y queires quitarle tantos meses puedes hacer de esta forma

    DataTime.Now.AddMonths(-2)  'resta 2 meses

    asi puedes aplciarlo al resto de los metodo
    DateTime Methods


    Dim day As Integer =  DateTime.Now.AddDays(-2).Day

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta CRIMAC miércoles, 26 de agosto de 2009 15:23
    • Marcado como respuesta CRIMAC miércoles, 26 de agosto de 2009 21:29
    martes, 18 de agosto de 2009 20:33

Todas las respuestas

  • hola,

    tienes varias formas de hacerlo, puedes restar una fecha con otr con este metodo
    DateTime.Subtract

    o si tienes una fecha y queires quitarle tantos meses puedes hacer de esta forma

    DataTime.Now.AddMonths(-2)  'resta 2 meses

    asi puedes aplciarlo al resto de los metodo
    DateTime Methods


    Dim day As Integer =  DateTime.Now.AddDays(-2).Day

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta CRIMAC miércoles, 26 de agosto de 2009 15:23
    • Marcado como respuesta CRIMAC miércoles, 26 de agosto de 2009 21:29
    martes, 18 de agosto de 2009 20:33
  • Hola:

    Si deseas obtener la diferencia entre dos fechas, no hay nada tan fácil como asignarle un objeto TimeSpan al resultado de llamar al método Subtract de la clase DateTime.

    Por ejemplo, para calcular los días, horas, minutos y segundos transcurridos desde primero de año, ejecutaríamos lo siguiente:

            Dim fechaInicial As New DateTime(2009, 1, 1)

            Dim ts As TimeSpan = DateTime.Now.Subtract(fechaInicial)

            Dim dias As Int32 = ts.Days
            Dim horas As Int32 = ts.Hours
            Dim minutos As Int32 = ts.Minutes
            Dim segundos As Int32 = ts.Seconds

    Recuerda marca la respuesta como satisfactoria si la misma te ha resultado útil.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    miércoles, 19 de agosto de 2009 15:05
    Moderador
  • Muchas Gracias Soft Jaen, desde hace tiempo utilizaba una rutina muy compleja para determinar el intervalo en tiempo

    pero jamas habia visto este modo de trabajarlo esta de lujo, te sacaste un 10.

    sábado, 8 de septiembre de 2012 8:32
  •        'Lo único que le falto fue agregar CDate() a las variables (FechaEntrada) y (FechaSalida)

            Dim dias As String
            Dim horas As String
            Dim minutos As String
            Dim segundos As String

            Dim FechaEntrada As String = "2015/05/01 12:27:42"
            Dim FechaSalida As String = "2015/05/02  15:28:52"

            dias = DateDiff(DateInterval.Day, CDate(FechaEntrada), CDate(FechaSalida))
            horas = DateDiff(DateInterval.Hour, CDate(FechaEntrada), CDate(FechaSalida))
            minutos = DateDiff(DateInterval.Minute, CDate(FechaEntrada), CDate(FechaSalida))
            segundos = DateDiff(DateInterval.Second, CDate(FechaEntrada), CDate(FechaSalida))

            TextBox1.Text = dias
            TextBox2.Text = horas
            TextBox3.Text = minutos
            TextBox4.Text = segundos

    viernes, 29 de mayo de 2015 20:50