FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
No encuentro la forma de restar fechas
Hola a todos!!
El problema en si no es restar la fecha... es que no encuentro una funcion que se comporte como necesito.. Es para un sistema de licencias para mi aplicacion, yo necesito restar la fecha de limite de uso que tiene la aplicacion con la fecha actual para saber si esta usandolo dentro de los dias "permitidos" por la licencia. Yo actualmente uso la funcion DaysBetween(fechaLimite,fechaActual) , pero esta funcion siempre retorna un entero y eso no me sirve. Osea , con un ejemplo: DaysBetween(30/01/2009,01/01/2009) = 30 DaysBetween(01/01/2009,30/01/2009) = 30 el en primer caso esta bien que devuelva 30, pero en el segundo necesito que me retorne -30, asi de ese modo se que se paso de la fecha de la licencia. Espero haberme explicado bien, sino me dicen y trato de explicar mejor Si alguien me puede recomendar una forma de hacerlo se los agradeceria mucho Saludos!!! |
#2
|
||||
|
||||
Hola pablopessoa, despues de obtener el numero de días con DaysBetween, comparas tus fechas, podría ser con la función CompareDate, si la fecha limite es menor a la fecha actual, al resultado del DayBetween lo conviertes en negativo multiplicando por -1.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#3
|
|||
|
|||
Hola caro , gracias por responder.
No es necesario tener el numero en negativo.. solo busco una forma de saber si la fecha actual es menor , igual o mayor a la del limite de la licencia. Lo que pasa es que antes restaba las fechas, pero tenia errores eso, por que , por ejemplo, si estaba en el dia 1/12/2008 y hacia algo como (15/1/2009 - 01/12/2008) me daba el resultado en negativo, cuando no deberia si 15/01/2009 es mayor, me explico? Pero me llamo la atencion lo de la funcion CompareDate, me podras explicar un poquito como se usa o que retorna? Muchas Gracias!! |
#4
|
||||
|
||||
Cita:
Con un "If TuFecha > Now then showmessage('fecha mayor');" sería suficiente, ¿no? DaysBetween solo considera los días completos, tal vez a eso se deba "los errores" que mencionas. Es decir, la función DaysBetween(1900-01-01 00:00:00, 1900-01-01 23:59:59) te va a regresar 0 porque le falta un segundo para completar el día. Si quieres con fracciones, deberías utilizar DaySpan. Y finalmente, para conocer todos los detalles de daysbetween, dayspan y comparedate, lo mejor que puedes hacer es presionar F1 en delphi y revisar la ayuda sobre estas funciones, la cuál está muy completa y hasta ejemplos vas a encontrar.
__________________
|
#5
|
||||
|
||||
Cita:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#6
|
|||
|
|||
Muchas Gracias por ayudarme!!
Tanto una solucion como la otra me vienen muy bien, ya me parecia que tenia que ser algo simple y que para variar yo la estaba complicando demasiado... Gracias nuevamente y saludos! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Restar dos fechas | Alejandrina | OOP | 5 | 23-09-2008 20:54:13 |
restar dos fechas | luxus | OOP | 2 | 06-08-2008 22:07:34 |
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 dos fechas | seken | Varios | 4 | 15-08-2003 23:34:56 |
|