FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
operaciones con fechas
hola nuevamente...
en delphi hay unas funciones que nos permiten hacer operaciones con las fechas, por ejemplo incmoth o incweek, etc. y me gustaría saber si exite en firebird alguna función que se asemeje a éstas. nuevamente mil gracias Gustavo Cruz |
#2
|
||||
|
||||
Hola GustavoCruz,
Desde Firebird 1.0 en Windows y 1.5 en Linux, existen las UDFs que buscas:
Revisa el documento "Firebird Languaje Reference Update". Allí están documentadas. Si empleas Firebird 2.1 sería oportuno que revises el Release Notes para ver si algo ha cambiado, o si se ha añadido más. Si deseas restar, en number debes pasar un valor negativo. Saludos, |
#3
|
||||
|
||||
Gracias delphius.
Ahora tengo otro interrogante, me gustaría saber cómo puedo hacer para que al momento de cambiar de mes siempre me quede en el último día del mismo, por ejemplo 31/01/2009 28/02/2009 31/03/2009 30/04/2009 Gracias nuevamente |
#4
|
||||
|
||||
Ummm.... ¿desde Firebird? La verdad es que allí ya me mataste Tendría que pensarlo, desconozco si hay alguna UDF que regrese la cantidad de días del mes...
Sería bueno que indicaras que versión de Firebird empleas. Al menos revisando la documentación que yo tengo de la 1.5 (es la que uso) no encuentro algo. Seguramente alguien más ilustrado nos puede iluminar, ¿Jhonny estás allí? Desde Delphi sería otra cosa, creo que en la unidad DateUtils hay ya una función que calcula lo que buscas... si no equivoco es DaysInAMonth. De última, la creas. Te podrías basar en la función de Delphi. Saludos, |
#5
|
||||
|
||||
Ahora que lo pienso... ¿y si en vez de sumarle n meses, le sumas n + 1 y le restas los m días que tengas?
Es decir que si por ejemplo, que hoy es 04/04 y deseamos que el plazo sea a Julio (31/07) en vez de sumarle n = 3, le sumamos n = 3 + 1 = 4: Temporalmente nos queda: 04/08. Le restamos los 4 días, y... finalmente tenemos 31/07. En teoría funciona. No lo he probado... EDITO: Lo he probado, por ejemplo algo así:
Saludos, Última edición por Delphius fecha: 05-04-2009 a las 03:05:44. Razón: Error, son m días no m + 1. Agrego ejemplo. |
#6
|
|||
|
|||
Gustavo:
Cuando empecé a programar en Firebird tuve la necesidad de hacer una funcion que si le mandada cualquier fecha dentro de los primeros quince dias del mes, esta me regresara todos los dias de la primera quincena de dicho mes. De la misma manera, si la fecha estaba dentro de la segunda quincena, me regrasaba todos los dias de la segunda quincena. Asi fue como la hice:
No dejes de contarnos si te funcionó para lo que tú querias. Saludos. Gerardo Suárez P.D. Por cierto, cada que me es posible evito los funciones externas (UDF's) Última edición por Gallosuarez fecha: 05-04-2009 a las 05:39:38. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Operaciones con fechas | tifosi_loco | SQL | 2 | 06-12-2007 14:26:08 |
Operaciones con fechas | jandres | Varios | 2 | 07-11-2006 19:16:27 |
operaciones entre fechas | Torreblanca | Varios | 4 | 09-07-2005 20:20:27 |
Operaciones con fechas | febito | Oracle | 1 | 05-08-2004 03:30:09 |
operaciones con fechas | ing_alsaac | Varios | 2 | 11-05-2003 10:02:57 |
|