Restarle dias a una fecha
hola, me pregunto si hay una funcion o una forma de que a una fecha determinada se le puedan restar una cantidad de dias.
ejemplo: 2011-06-30 menos 7 dias 2011-06-23 |
No sé qué versión de Delphi uses, pero en la versión 7 tienes la unidad DateUtils con muchas rutinas para manejo de fechas, entre ellas, la función IncDay que hace lo que quieres (pasándolo un número negativo de días para restar en lugar de sumar).
// Saludos |
Cita:
o pero esto queria saber si hay alguna manera de hacerlo en firebird |
Además de lo comentado por Román, puedes hacer lo siguiente:
Saludos. Al González. :) |
Ja, ja, sí, mucho más sencillo :). Estaba por recontestar eso pero te me adelantaste :) Cabe nada más mencionar que eso es así por la forma en que Delphi guarda las fechas/horas: en un valor real donde la parte entera son los días pasados desde una fecha fija y la parte fraccionaria los segundos transcurridos desde la media noche.
// Saludos |
Cita:
Resta cinco días a la fecha actual. Saludos. |
¡Oh! :o ¡Vaya confusión! Debí fijarme que era el foro de Firebird. Lo siento :(
// Saludos |
Cita:
BETWEEN '2011-06-19' AND ('2011-06-19' - 7) |
Cita:
BETWEEN '2011-06-19' AND (cast('2011-06-19' as timestamp) - 7) Saludos. |
Cita:
También puedes poner algo así como:
Recuerda que será desde menor hasta mayor, no al revés. |
Cita:
Si con las dos opciones se esta en lo correcto y funcional, de menor a mayor ok |
Cita:
hora entrada 1899-12-30 08:00:00 p.m. hora salida 1899-12-30 05:00:00 a.m. y tendria que obtener las horas que hay entre esas horas, y como lo unico que inserto es la hora y no la fecha del dia. entonces se me ocurrio si hay una manera de detectar si una hora es am o pm |
Cita:
Pero si quieres detectar si una hora es AM o PM, piensa que el valor decimal representa la fracción del día. Por tanto si es <= 0.5 es AM y si está entre 0.5 y 1 es PM. Saludos. |
Cita:
hora entrada 1899-12-30 08:00:00 p.m. hora salida 1899-12-30 05:00:00 a.m. ok, y de una fecha como las de arriba como sacaria el valor decimal que me comentas.. |
Hola.
Dado que tienen el día 0, directamente el valor del campo ya debería ser solo un decimal con solo la parte de hora. Si no estoy equivocado ya deberías poder comparar directamente si el campo es < 0.5 para saber si es AM o PM. Saludos |
La franja horaria es GMT +2. Ahora son las 18:08:59. |
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