diferencia entre 2 fechas

09/06/2006 - 17:38 por Jose | Informe spam
Estimados como obtener los dias, meses y años transcurridos entre 2 fechas?

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
09/06/2006 - 18:30 | Informe spam
Hola Jose

Prueba a utilizar la función DateDiff. En el primer parámetro debes pasar un
valor de una enumeración con el elemento de la fecha a obtener: meses, días,
etc., y en los siguientes las fechas a comparar. Te adjunto un bloque de
código con un ejemplo:

'///////////////////////////////////////
Dim fecha1 As Date = New Date(2006, 6, 1)
Dim fecha2 As Date = New Date(2008, 9, 15)
MessageBox.Show("Días: " & DateDiff(DateInterval.Day, fecha1, fecha2))
MessageBox.Show("Meses: " & DateDiff(DateInterval.Month, fecha1,
fecha2))
MessageBox.Show("Años: " & DateDiff(DateInterval.Year, fecha1,
fecha2))
'///////////////////////////////////////

Espero que te sirva.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jose" wrote:

Estimados como obtener los dias, meses y años transcurridos entre 2 fechas?

Gracias de antemano.



Respuesta Responder a este mensaje
#2 Jose
09/06/2006 - 19:03 | Informe spam
Si Luis Miguel he visto esa funcion pero en el caso de meses y dias estan
basados en años y la idea es obtener tambien la diferencia en meses y dias
en ese rango de fechas no un total basado en años.
Como me podrias ayudar para determinar eso supongamos que el dia inicial sea
20/03/1971 y el final 09/06/2006. En el caso de meses me da 423 meses pero
la idea es que me diga que han trascurrido 2 meses y tanto y algo similar en
los dias.
Alguna idea? Ahora tengo un lapsus mental y no logro dar con la idea.
Saludos
"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Jose

Prueba a utilizar la función DateDiff. En el primer parámetro debes pasar
un
valor de una enumeración con el elemento de la fecha a obtener: meses,
días,
etc., y en los siguientes las fechas a comparar. Te adjunto un bloque de
código con un ejemplo:

'///////////////////////////////////////
Dim fecha1 As Date = New Date(2006, 6, 1)
Dim fecha2 As Date = New Date(2008, 9, 15)
MessageBox.Show("Días: " & DateDiff(DateInterval.Day, fecha1,
fecha2))
MessageBox.Show("Meses: " & DateDiff(DateInterval.Month, fecha1,
fecha2))
MessageBox.Show("Años: " & DateDiff(DateInterval.Year, fecha1,
fecha2))
'///////////////////////////////////////

Espero que te sirva.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jose" wrote:

Estimados como obtener los dias, meses y años transcurridos entre 2
fechas?

Gracias de antemano.



Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
12/06/2006 - 09:04 | Informe spam
Hola Jose

En ese caso puedes utilizar la propiedad Month del tipo Date para calcular
la diferencia de forma similar a la siguiente:

'///////////////////////////////////////
MessageBox.Show("Diferencia meses: " & fecha2.Month - fecha1.Month)
'///////////////////////////////////////

Espero que esto te sirva 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jose" wrote:

Si Luis Miguel he visto esa funcion pero en el caso de meses y dias estan
basados en años y la idea es obtener tambien la diferencia en meses y dias
en ese rango de fechas no un total basado en años.
Como me podrias ayudar para determinar eso supongamos que el dia inicial sea
20/03/1971 y el final 09/06/2006. En el caso de meses me da 423 meses pero
la idea es que me diga que han trascurrido 2 meses y tanto y algo similar en
los dias.
Alguna idea? Ahora tengo un lapsus mental y no logro dar con la idea.
Saludos
"Luis Miguel Blanco" escribió
en el mensaje news:
> Hola Jose
>
> Prueba a utilizar la función DateDiff. En el primer parámetro debes pasar
> un
> valor de una enumeración con el elemento de la fecha a obtener: meses,
> días,
> etc., y en los siguientes las fechas a comparar. Te adjunto un bloque de
> código con un ejemplo:
>
> '///////////////////////////////////////
> Dim fecha1 As Date = New Date(2006, 6, 1)
> Dim fecha2 As Date = New Date(2008, 9, 15)
> MessageBox.Show("Días: " & DateDiff(DateInterval.Day, fecha1,
> fecha2))
> MessageBox.Show("Meses: " & DateDiff(DateInterval.Month, fecha1,
> fecha2))
> MessageBox.Show("Años: " & DateDiff(DateInterval.Year, fecha1,
> fecha2))
> '///////////////////////////////////////
>
> Espero que te sirva.
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Jose" wrote:
>
>> Estimados como obtener los dias, meses y años transcurridos entre 2
>> fechas?
>>
>> Gracias de antemano.
>>
>>
>>



Respuesta Responder a este mensaje
#4 Jose
12/06/2006 - 17:30 | Informe spam
Ok Luis y para el caso de los dias?
Gracias de antemano
"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Jose

En ese caso puedes utilizar la propiedad Month del tipo Date para calcular
la diferencia de forma similar a la siguiente:

'///////////////////////////////////////
MessageBox.Show("Diferencia meses: " & fecha2.Month - fecha1.Month)
'///////////////////////////////////////

Espero que esto te sirva 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jose" wrote:

Si Luis Miguel he visto esa funcion pero en el caso de meses y dias estan
basados en años y la idea es obtener tambien la diferencia en meses y
dias
en ese rango de fechas no un total basado en años.
Como me podrias ayudar para determinar eso supongamos que el dia inicial
sea
20/03/1971 y el final 09/06/2006. En el caso de meses me da 423 meses
pero
la idea es que me diga que han trascurrido 2 meses y tanto y algo similar
en
los dias.
Alguna idea? Ahora tengo un lapsus mental y no logro dar con la idea.
Saludos
"Luis Miguel Blanco"
escribió
en el mensaje news:
> Hola Jose
>
> Prueba a utilizar la función DateDiff. En el primer parámetro debes
> pasar
> un
> valor de una enumeración con el elemento de la fecha a obtener: meses,
> días,
> etc., y en los siguientes las fechas a comparar. Te adjunto un bloque
> de
> código con un ejemplo:
>
> '///////////////////////////////////////
> Dim fecha1 As Date = New Date(2006, 6, 1)
> Dim fecha2 As Date = New Date(2008, 9, 15)
> MessageBox.Show("Días: " & DateDiff(DateInterval.Day, fecha1,
> fecha2))
> MessageBox.Show("Meses: " & DateDiff(DateInterval.Month, fecha1,
> fecha2))
> MessageBox.Show("Años: " & DateDiff(DateInterval.Year, fecha1,
> fecha2))
> '///////////////////////////////////////
>
> Espero que te sirva.
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Jose" wrote:
>
>> Estimados como obtener los dias, meses y años transcurridos entre 2
>> fechas?
>>
>> Gracias de antemano.
>>
>>
>>



Respuesta Responder a este mensaje
#5 Luis Miguel Blanco
13/06/2006 - 18:29 | Informe spam
Hola Jose

Para calcular la diferencia sólo de días sin tener en cuenta años ni meses,
puedes recurrir al siguiente truco:

Una vez que tienes las fechas introducidas por ejemplo en variables, crea
dos nuevas variables de fecha que sean iguales excepto en el año, el cual
debe ser el mismo, por ejemplo el año actual.

A continuación ejecutas sobre la fecha mayor el método Subtract() pasándole
como parámetro la fecha menor. Este método te devuelve un objeto TimeSpan,
que contiene la propiedad Days en la que tendrás el número de días producto
de la diferencia. Te expongo lo que te acabo de decir en un bloque de código
de ejemplo:

'/////////////////////////////////////
' fechas normales
Dim fecha1 As Date = New Date(2006, 6, 9)
Dim fecha2 As Date = New Date(1971, 3, 20)

' crear nuevas fechas igualando el año
Dim NuevaFecha1 As Date = New Date(2006, fecha1.Month, fecha1.Day)
Dim NuevaFecha2 As Date = New Date(2006, fecha2.Month, fecha2.Day)

' calcular la diferencia en días
Dim oTimeSpan As TimeSpan = NuevaFecha1.Subtract(NuevaFecha2)
MessageBox.Show("Diferencia en días: " & oTimeSpan.Days)
'/////////////////////////////////////

Espero que te sirva para el caso de los días.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jose" wrote:

Ok Luis y para el caso de los dias?
Gracias de antemano
"Luis Miguel Blanco" escribió
en el mensaje news:
> Hola Jose
>
> En ese caso puedes utilizar la propiedad Month del tipo Date para calcular
> la diferencia de forma similar a la siguiente:
>
> '///////////////////////////////////////
> MessageBox.Show("Diferencia meses: " & fecha2.Month - fecha1.Month)
> '///////////////////////////////////////
>
> Espero que esto te sirva 8-)
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Jose" wrote:
>
>> Si Luis Miguel he visto esa funcion pero en el caso de meses y dias estan
>> basados en años y la idea es obtener tambien la diferencia en meses y
>> dias
>> en ese rango de fechas no un total basado en años.
>> Como me podrias ayudar para determinar eso supongamos que el dia inicial
>> sea
>> 20/03/1971 y el final 09/06/2006. En el caso de meses me da 423 meses
>> pero
>> la idea es que me diga que han trascurrido 2 meses y tanto y algo similar
>> en
>> los dias.
>> Alguna idea? Ahora tengo un lapsus mental y no logro dar con la idea.
>> Saludos
>> "Luis Miguel Blanco"
>> escribió
>> en el mensaje news:
>> > Hola Jose
>> >
>> > Prueba a utilizar la función DateDiff. En el primer parámetro debes
>> > pasar
>> > un
>> > valor de una enumeración con el elemento de la fecha a obtener: meses,
>> > días,
>> > etc., y en los siguientes las fechas a comparar. Te adjunto un bloque
>> > de
>> > código con un ejemplo:
>> >
>> > '///////////////////////////////////////
>> > Dim fecha1 As Date = New Date(2006, 6, 1)
>> > Dim fecha2 As Date = New Date(2008, 9, 15)
>> > MessageBox.Show("Días: " & DateDiff(DateInterval.Day, fecha1,
>> > fecha2))
>> > MessageBox.Show("Meses: " & DateDiff(DateInterval.Month, fecha1,
>> > fecha2))
>> > MessageBox.Show("Años: " & DateDiff(DateInterval.Year, fecha1,
>> > fecha2))
>> > '///////////////////////////////////////
>> >
>> > Espero que te sirva.
>> > Un saludo
>> > Luis Miguel Blanco
>> > http://www.dotnetmania.com
>> >
>> >
>> > "Jose" wrote:
>> >
>> >> Estimados como obtener los dias, meses y años transcurridos entre 2
>> >> fechas?
>> >>
>> >> Gracias de antemano.
>> >>
>> >>
>> >>
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida