Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
calcular meses entre dos fecha

Hola dilferos.

¿Existe alguna funcion que me diga los meses transcurridos entre dos fechas. Esas fechas estan en una tabla definidas con date?

Gracias.
Responder Con Cita
  #2  
Antiguo 13-03-2017
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Hola,

System.DateUtils.MonthsBetween

Saludos.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 13-03-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
me da error la utilizo asi
Código Delphi [-]
i : Integer;
i := System.DateUtils.MonthsBetween(Texperiencia['fecha_fin'],Texperiencia['fecha_ini']);

y asi tambien

Código Delphi [-]
i : Integer;
i := MonthsBetween(Texperiencia['fecha_fin'],Texperiencia['fecha_ini']);

No se si hay que poner algo en el uses
Responder Con Cita
  #4  
Antiguo 13-03-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Ya esta muchas gracias.
Responder Con Cita
  #5  
Antiguo 14-03-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Me he dado cuenta que hay veces que no te dice los meses que han pasado yaque la funcion solo calcula los dias y divide por 30. Por ejemplo desde el 1/02/2017 al 1/03/2017 ha pasado 1 mes y esta funcion te dice que 0 meses.

¿Hay otra mas exacta ?

gracias.
Responder Con Cita
  #6  
Antiguo 14-03-2017
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
No he adecuado el siguiente ejemplo para lo que necesitas que son sólo meses... pero seguro que te dará un norte...

http://www.clubdelphi.com/foros/show...55&postcount=3
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 15-03-2017
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El cálculo que hace delphi es correcto.

Al omitir la parte horaria de una fecha, se igualan a 0:00 y puesto que no ha pasado ni un solo milisegundo, te da cero meses en lugar de 1. haz la prueba con 1/03/2017 0:00:00,1

Yo declararía las fechas como timeStamp, es decir, fecha y hora.

Saludos!
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 15-03-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Lepe Ver Mensaje
El cálculo que hace delphi es correcto.
El problema es que toma un estimado del número de días por mes,

Código Delphi [-]
var
  ApproxDaysPerMonth: Double = 30.4375;

y como febrero tiene 28 días, el resultado es erróneo pues incluso entre 2017/02/01 y 2017/03/03 marca 0 meses cuando ha pasado un mes y dos días.

LineComment Saludos
Responder Con Cita
  #9  
Antiguo 16-03-2017
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
auch!! Eso duele
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema calcular meses , dias entre rango de fechas shoulder Varios 3 12-03-2014 21:34:50
Calcular EDAD en años, meses y dias de una Persona MaMu Trucos 6 03-09-2013 00:57:24
Calcular fecha Fin dada fecha inicio y dias, meses o años transcurridos fide_uci HTML, Javascript y otros 1 15-11-2011 20:52:40
Desde la fecha inicio hasta la fecha final que me grabe los meses contenidos Renis SQL 4 01-10-2007 18:21:44
Calcular nº de meses Drahcir SQL 3 20-12-2006 20:31:38


La franja horaria es GMT +2. Ahora son las 11:16:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi