y si nadi me da la idea de como hacer un algoritmo para esto, lo planteo de otra forma.
|
los dias son 30 dias de cada mes.
de los 12 meses. existen 360 dias al año- hay q hacer un algoritmo para obtener la dif de dias basandose en estos datos. Hellpppp.- |
El problema es que no sabemos qué hace exactamente esa función days360.
Pero se supone que si cuentas los días que hay entre dos fechas, qué hace, calcular todos los meses a 30 días?, es que si es así, entonces no se puede usar daysbetween, salvo que luego restemos los días de meses de 31 días y sumemos las de febrero, teniendo en cuenta si ese año es bisiesto. No sé, me da la sensación de estar sumando peras y manzanas, algo no cuadra. |
tengo una idea, es la siguiente
supongamos que las fechas son 1 enero a al 31 agosto. algoritmo seria diferencia de dias con el DaysBetween luego recorrer desde la fi, hasta la final y hacer lo siguiente ciclo if fi[mes1 ( maximo dia ) ]== 31 cuentadias = cuentadias -1 fi[mes1 ( maximo dia ) ]== 28 cuentadias = cuentadias +2 fi[mes1 ( maximo dia ) ]== 29 cuentadias = cuentadias + 1 fciclo dias+cuenta y creo q ya. pero como recorro estos meses de la fi, a la ff.? espero q me hayan entendido. nota: la idea es calcular sin importar los 30 dias de cada mes luego recorrer esos meses y si hay q agregarle se agrega y si hay q quitarles se le quita. |
Hola ingabraham.
Busqué y encontré código de días360, sobre todo en VB, y ningúno funcionó. Es más, ni siquiera arrimaban a un resultado coherente, DaysBetween aproximaba mejor. Así que pasé el borrador sobre lo leido, dejé de perder el tiempo e hice la función desde cero. No sé si es buen código... seguramente algún compañero con mas luces que yo ( y reconozco que son muchos :o ) pueda optimizarlo. Pero bueno, hace lo que tiene que hacer. Al menos hasta que se demuestre lo contrario... :p
Saludos.:) |
Cita:
|
Cita:
Acabo de corregir un pif de la función que escribí. Lo dá cuando el día ingresado en la fecha inicial es 31, por suerte es fácil de corregir. Queda así:
Saludos. :) |
Cita:
Por lo tanto, tu código es mucho mejor, más seguro, más eficiente, más económico y no hay que esperar a una versión nueva del programa para solucionar el problemilla, jejeje :) Y por si fuese poco, tu código es libre como el viento, el de ellos no lo verás jamás aunque pagues por un excel. |
En los parrafos 1 y 3 estoy totalmente de acuerdo con vos.
Ahora en el 2 tengo mis dudas... :D Gracias Casimiro.:) |
gracias, lo he probado con varias fechas
hasta el momento todo esta bien, no se si depronto con algun rango de fechas podra fallar- muchas gracias esto era lo que esperaba, pero me podrias dar una breve explicacion de lo q hicistes q no entendi nda de la funcion de la logica q tiene. |
Hola.
Mirá te documento el código que es la mejor manera que se me ocurre para explicarlo. Creo que, como a mí, tener un calendario en la mano te va ayudar a entender como es la lógica de dias360.
A la reducción de la fórmula llegué simplemente reemplazando las variables por su equivalente, como por ejemplo en:
Por último, los resultados los cotejé contra el OpenOffice.org.calc. Saludos.:) |
La franja horaria es GMT +2. Ahora son las 15:46:09. |
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