Visual Basic - calculos con fechas

Life is soft - evento anual de software empresarial
 
Vista:

calculos con fechas

Publicado por guillermo (62 intervenciones) el 13/02/2006 16:25:57
hola a todos...
bueno...lo que pasa es que tengo una duda con respecto a que si por ejemplo
quiero calcular años trabajados hasta hoy...y tengo la fecha de ingreso
y quiero restarla a la fecha de hoy...
ej:
años_trabajados=(Date-fecha_ingreso)

lo anterior que me da??...son dias?...

y si son dias al dividirlo por 365 me debiera dar los años???

si alguien me entiende esto...favor me de una mano....
gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculos con fechas

Publicado por ivan (463 intervenciones) el 13/02/2006 16:55:50
Busca la función DateDiff, con ella puedes hacer cálculos con datos tipo DATE, te puede calcular días, meses y años, en la ayuda del MSDN encontrarás cómo usar esta función.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por Cecilia Colalongo (3116 intervenciones) el 13/02/2006 16:59:16
Revisa la función DateDiff, si quieres la diferencia en años:

DateDiff("yyyy",fIngreso,Date)

En días: DateDiff("d",fIngreso,Date)

En meses: DateDiff("m",fIngreso,Date)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por guillermo (62 intervenciones) el 13/02/2006 17:07:44
bueno...les agradezco por sus respuestas...pero una consultilla mas
al usar Datediff sera exacta el calculo, me refiero a que considerara tambien los
dias, porque si fuera por calcular los años...lo hago con year()
bueno...eso....chau
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por Cecilia Colalongo (3116 intervenciones) el 13/02/2006 17:21:29
No, Datediff hace la diferencia en años, si la quieres en días, meses y años puedes usar los diferentes parámetros de DateDiff o descomponer la diferencia en días.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por guillermo (62 intervenciones) el 13/02/2006 17:31:05
mmm...a ver...creo que no me supe explicar bien...
como dije antes, necesito saber los años. que lleva una persona trabajando en una empresa X....tengo su fecha de ingreso....y para hacer el calculo...de los años...si uso el DateDiff......
me dara...los años..."reales" que lleva la persona?? algo asi como ....1.3 años
digo esto porque..no es lo mismo decir que una persona que ingreso el
25-10-2004 lleva lo mismo que otra que empezo el 01-01-2004....
se entiende?....
o sea la primera llevaria como año y algo mas...sin embargo la 2da llevaria realmente 2 años...

tenme paciencia...gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por ivan (463 intervenciones) el 13/02/2006 17:44:53
Echale un poco de "coco" (pensada...) a tu aplicación....

Calcula los días, luego haz divisiones entre 365, y asi obtienes los años, desconozco si acaso "DateDiff("yyyy",fIngreso,Date)" te de valores enteros o fraccionados, pero haz pruebas para que vayas resolviendo tu duda...

Sobre los mentados años biciestos también puedes controlar eso, acuérdate que cada 4 años es bibiciesto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por Cecilia Colalongo (3116 intervenciones) el 13/02/2006 17:53:15
Devuelve el número entero de años (por resta directa). Para los casos que planteas:

Caso 1: 25-10-2004

Son al día de hoy: 476 días que son:

Int(476/360) = 1 año

Int((476 Mod 360)/30) = 3 meses

476-((360*1)+(3*30)) = 26 días

Por lo que: (1*360)+(3*30)+26 = 476 días

Caso 2: 01-01-2004

Son al día de hoy: 774 días que son:

Int(774/360) = 2 años

Int((774 Mod 360)/30) = 1 mes

774-((360*2)+(1*30)) = 24 días

Por lo que: (2*360)+(1*30)+24 = 774 días

Si consideras que los meses tienen 30 días y los años 360 días (Ley de Contrato de Trabajo Argentina) revisa en la legislación laboral de tu país como computan los años.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por Cecilia Colalongo (3116 intervenciones) el 13/02/2006 17:55:25
Para hacer la resta en días puedes hacer: DateDiff("d",FIngreso,Date)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por guillermo (62 intervenciones) el 13/02/2006 18:23:02
ok...muchas gracias niña...
mira...si a lo más necesito saber los años y los meses...que esta trabajando....los dias es algo que puedo pasar por alto...

gracias....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por NUEVO (2 intervenciones) el 13/02/2006 19:18:51
No te bastan todas las respuestas que llevas....??????????? No seas flojo....!!!!!!!!! acaso quieres que te resuelvan siempre todo.....????????????????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:calculos con fechas

Publicado por Eli (49 intervenciones) el 14/02/2006 21:53:27
'Con esto calculo los años y me dan exactos
'en la caja de texto EdsadA meto los años acumulados al día de hoy
'FeN, es la fecha de entrada
'Calculo la edad
EdadA.Text = IIf(Month(Date) < Month(FeN), Year(Date) - Year(FeN) - 1, _
IIf(Month(Date) = Month(FeN) And Day(Date) > Day(FeN), _
Year(Date) - Year(FeN), _
IIf(Month(Date) = Month(FeN) And Day(Date) < Day(FeN), _
Year(Date) - Year(FeN) - 1, Year(Date) - Year(FeN))))

no se si esto te ayudará
sal2 y suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar