FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Calculo diferencia años entre dos fechas
Buenos dias.
Hace ya un tiempo que no aparecía por aquí pues tenía un poco olvidada la programación, pero ahora me ha surgido la necesidad de actualizar una base de datos y en ella debo controlar la diferencia en años entre dos fechas. El proceso que hago es el siguiente:
Este proceso funciona bien pero me da un resultado "erróneo o no deseado". Si tengo como fecha inicio 1/1/2000 y fecha fin 31/12/2005, el resultado es 5, pero para mi el resultado debería ser 6 ya que los años pasados son: 2000, 2001, 2002, 2003, 2004 y 2005. Como podria controlar esto? Una forma "fácil" aunque no se si muy correcta seria sumar 1 al valor Anyo Anyo:=(a-a1)+1 No se si se podría hacer calculando el numero de días o meses y luego dividir.... Como siempre gracias por adelantado por leerme. Saludos Josep Última edición por Neftali [Germán.Estévez] fecha: 14-02-2023 a las 11:30:16. Razón: Corregi saltos de línea |
#2
|
||||
|
||||
El problema es que para dar una solución debes especificar bien cual es la salida que quieres...
Contesta cual sería la respuesta a las siguientes fechas (explicado de una forma programática): 1/1/2000 y 31/12/2005 (6,0027 años) (6 años y 1 día) => Según tú esto debería dar 6 ¿Porqué? 1/1/2000 y 02/01/2005 (5,0082 años) (5 años y 3 días) => ?? 1/6/2000 y 31/06/2005 (5,0822 años) (5 años y 30 días)=> ?? 1/6/2000 y 31/12/2005 (5,5863 años) (5 años y 214 días)=> ?? AÑADO1: Te he puesto la diferencia de años en decimal a ver si te ayuda... AÑADO2: Diferencia en años y días...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 14-02-2023 a las 11:45:08. |
#3
|
||||
|
||||
Buenos días y gracias por la respuesta.
Para mi son siempre años naturales, cuando un comisario saca licencia vale por un año natural, tanto si la saca el 1/1, como el 30/6, siempre caduca el 31/12 de ese año. Con lo que una licencia del 1/1/2020 finaliza el 31/12/2020 y la antigüedad es un año, que es el valor que quiero acumular. Si la saca el 1/1/2020 y la renueva cada año hasta el 2022, luego en 2023 no renueva el valor a guardar es 3, 2020, 2021 y 2022, Aquí tendrá fecha de baja el 31/12/2022. No se si se entiende bien Saludos Josep |
#4
|
||||
|
||||
Por lo tanto :
|
#5
|
||||
|
||||
Gracias duilioisola
Es más o menos lo que decía yo de sumar 1 al resultado. Pensaba que habría otra forma, pero me parece correcto y simple. Saludos Josep |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
calculo de diferencia entre dos horas y minutos | gonza_619 | Varios | 1 | 22-05-2010 20:35:31 |
Problemas con Calculo entre Fechas | CamiloU | OOP | 2 | 03-04-2006 23:48:51 |
diferencia entre mujeres de 8, 18, 28, 38, 48, 58, 68 y 88 años | Nuria | Humor | 17 | 17-03-2004 09:53:43 |
Calcular diferencia de años entre dos fechas | bismarito | Firebird e Interbase | 2 | 23-08-2003 17:13:03 |
Diferencia entre fechas.... | seb@ | OOP | 1 | 21-08-2003 15:57:22 |
|