FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
restar fechas
ej:
resultado:=trunc(tdatetimepicker1.date-tdatetimepicker2.date) Tengo que restar 2 fechas, si yo utilizo trunc,round o daysbetween me da como resultado un integer y si yo hago el cálculo de dividir x 365 y luego x30 , me va a seguir dando el mismo error que antes. Porque lo que yo necesito es que si un mes tiene 31 días y el otro 30,ejemplo ( 01/02/07 - 01/03/07=1 mes) y con el Between me daría de resultado 1 día y 1 mes. Espero haberme explicado bien, disculpen si repito la pregunta pero es urgente. El between devuelve los días utilizando el calendario real, y lo que necesito es una función o algo que trabaje de la misma manera. |
#2
|
||||
|
||||
Hola
Aqui hay varias opciones en este ejemplo. Revisalo. Saludos Última edición por Caral fecha: 12-05-2008 a las 01:37:58. |
#3
|
||||
|
||||
Cita:
Creo que en ese caso debes utilizar 2 o 3 criterios.. primero... ver si el dia es igual en ambas fechas... si es así...no hacer nada, de lo contrario sacar la diferencia... segundo... ver si el mes es igual en ambas fechas...si es así.. no hacer nada, de lo contrario sacar la diferencia... tercero...realizar el mismo proceso con el año... no estoy seguro si existen funciones... pero yo lo haria asi... salu2
__________________
BlueSteel |
#4
|
|||
|
|||
A ver si me explico un poco mejor con éste ejemplo:
var dd4,a4,d4,m4:integer; begin {f_ingreso_4,f_egreso_4(datetimePicker)} if datos.antiguedad.State in [dsedit, dsinsert]then datos.AntiguedadF_egreso_4.Value:=f_egreso_4.DateTime; dd4:=round(f_egreso_4.DateTime - f_ingreso_4.DateTime); a4:=dd4 div 365; d4:= dd4 mod 365; m4:= d4 div 30; d4:= d4-(m4*30); total4.Text:= (inttostr(d4)+'días '+inttostr(m4)+'meses '+inttostr(a4)+'años'); end; {en el total4 está el error y necesito que sea exacto} |
#5
|
||||
|
||||
Hola hugo_Junior,
¿Porqué no continuaste tratando el tema en el hilo que iniciaste antes? No repitas hilos por favor! Segundo, Cita:
Tercero, usa las etiquetas DELPHI para cuando escribas código. Por favor respeta la guia de estilo. Ten un poco más de paciencia. Se que eres nuevo en los foros, pero te voy a pedir que por favor comienza a seguir la guia. No soy moderador, pero aqui cada uno debe poner su granito. Saludos, |
#6
|
|||
|
|||
Pido disculpas si fué tomado como que los estaba apurando, pero la verdad es que nada ver.
Resalte el tema de nuevo porque vi que estaban conectados gente que considero que sabe y como me había quedado colgado el tema.... por eso fué...nada más. me disculpo nuevamente y gracias por la ayuda. |
#7
|
|||
|
|||
DecodeDate(...)
Sacas el dia, mes, año de la primera fecha Sacas el dia, mes, año de la segunda. Restas dia-dia, mes-mes, año-año Última edición por coso fecha: 12-05-2008 a las 02:10:37. |
#8
|
||||
|
||||
Inspirado en la idea de Coso, la "cosa" (1) pasa por esto:
No es lo que buscas, pero es una aproximación. (1) Simple coincidencia. Saludos, Última edición por Delphius fecha: 12-05-2008 a las 04:12:05. Razón: etiquetas delphi |
#9
|
|||
|
|||
ese ya lo probé y da error, porque m1 es menor a m2 te da error y si dic 2007 enero 2008 te va a dar un año.
Gracias igual. |
#10
|
|||
|
|||
que es lo que quieres saber exactamente? me parece q con los datos que hay ya puedes resolverlo...
|
#11
|
||||
|
||||
Cita:
hugo_Junior, ¿ya ves por que te he dicho que no duplicaras hilos? Sería oportuno que un moderador cierre este hilo, si es que lo ven conveniente. Saludos, |
#12
|
|||
|
|||
Prueba con Decodedate(TDateTime(fecha_final-fecha_inicial),d,m,a). Al menos te dara los meses, dias, años de diferencia...es lo que buscabas no? Si lo que buscas es los dias de diferencia tal cual el Round(fecha_final-fecha_inicial) te tendria que funcionar.....
Vaya...Ok delphius acabo de leerlo |
#13
|
|||
|
|||
Muchísimas gracias a vos y a todos por la ayuda y las molestías.
Disculpas de nuevo por crear un nuevo hilo. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
restar fechas sql | Oraxtar | SQL | 16 | 21-01-2008 22:01:44 |
Restar Fechas | jsanchez | OOP | 2 | 08-02-2006 19:29:55 |
Restar fechas | majosf | Conexión con bases de datos | 11 | 16-11-2005 16:27:18 |
Restar fechas | Acker | Varios | 4 | 07-11-2005 14:11:51 |
restar dos fechas | seken | Varios | 4 | 15-08-2003 23:34:56 |
|