Obtener la diferencia de 2 fechas en VB .NET

Estado
Cerrado para nuevas respuestas.
R

rgrm_s

Guest
Amigos, quisiera que me orienten o ayuden a poder obtener la diferencia entre 2 fechas, cada una de ellas las ingreso en un TEXTBOX, y el resultado debe salirme en otro TEXTBOX pero de la siguiente manera: por Ejemplo:

fecha1: 04/05/06 (dd/mmm/YYY)

fecha2: 03/04/07

Resultado debe salir asi: 0 años, 11meses, 31 días

De antemano muchas gracias
 

rob1104

Super Moderador
Super Moderador
Hice este codigo, pero tiene un problema con los años bisiestos y porque asumi que todos los meses tienen 30 dias, ya solo es cuestion de mucha logica matematica:
Código:
    Private Sub cmdRestar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRestar.Click

       'Variables necesarias

       Dim años, meses, dias, diassobrantes As Integer

       Dim f1, f2 As Date

       Dim diasTotales As Long

       'Convertimos lo escrito en el textBox en tipo Fecha

       f1 = CType(txtFecha1.Text, Date)

       f2 = CType(txtFecha2.Text, Date)

       'Obtenemos los días totales

       diasTotales = DateDiff(DateInterval.Day, f1, f2)

       'Los años son los días totales entre 365

       años = diasTotales \ 365

       'Calculamos los días sobrantes (serán los bisiestos)

       diassobrantes = diasTotales Mod 365

       'Los meses seran todos los diassobrantes entre 30

       meses = diassobrantes \ 30

       'Los días seran el residuo de los días sobrantes entre 30

       dias = diassobrantes Mod 30

       'Mostramos el resultado

       txtResultado.Text = años & " años, " & meses & " meses, " & días & " dias."

   End Sub
Espero te ayude.
 
P

PC_MAC

Guest
Tambien lo que puedes hacer eso declarar 2 variables tipo date y después escribes.

Código:
       Dim f1, f2 As Date

       Dim fd As System.TimeSpan

       f2 = Date.Parse(textbox1.text)

       f1 = Date.Parse(textbox2.text)

       fd = f1.Subtract(f2)

       MsgBox("hay un total de: " & fd.TotalDays.ToString & " dias")

Ya si quieres sacar el tiempo en meses o en años, ya seria cosa de que tu convirtieras los dias.

Saludos
 
R

rgrm_s

Guest
Amigos, les agradesco a ambos por la ayuda brindada, les informo que ya acabe mi pequeño programita y quisiera subirlo para que ustedes lo ejecuten y ve an cualquier error o sugerencia. Por favor indiquenme o guienme como subirlo aca.

De antemano gracias
 

rob1104

Super Moderador
Super Moderador
Puedes subirlo a un hosing de archivos gratuitos, como rapidshare, megaupload, fileupload, etc...
 
R

rgrm_s

Guest
Amigos ya subi el archivo a un hosting, este es el enlace, por favor revisenlo y ejecuten el programa, quedo a esperas de cualquier correccion o sugerencia

Programa [URL/DOMINIO/IMAGEN/ROTO/DESAPARECIDO]
 

rob1104

Super Moderador
Super Moderador
No esta nada mal, y cumple bien con su funcion, yo le mejoraria un poco el diseño, y que las fechas en vez de escribirlas a mano, uses un DateTime Picker, ya viene incluido en los controles y le da mejor visto. Pero por lo demas esta bien.

Por cierto, lo hiciste por gusto propio o para una tarea?

Saludos
 
R

rgrm_s

Guest
Gracias por el comentario, te comento que lo hice por gusto propio, aunque con algo de interes familiar, pues pienso instalarselo en la PC de mi padre, pues el necesita constantemente realizar diferencia de fechas, para saber los años trabajados de una persona y de esa forma determinar si le corresponde o no una Jubilacion. Si puedes explicame como uso ese Datetime Picker, y de que forma mejoraria la interface..gracias
 
Estado
Cerrado para nuevas respuestas.
Arriba Pie