Diferencia entre dos fechas en dias de trabajo?

ElRuso

Tnego que hacer un programilla que calcula la diferencia entre dos fechas contando solo los dias de trabajo, osea de Lunes a Viernes.

Lo primero ( y basicamente lo unico) que se me ocurres es comprobar si dos fechas son del mismo anyo, luego si son el mismo mes y dependiendo del resultado ir dia por dia comprobando si no es sabado o domingo. Pero es bastante curro y no me gusta demasiado.

Pero no se me ocurren otras cosas mas utilies que esta, alguien tiene alguna sugerencia o idea sobre la logica de esta aplicacion?

Los lenguajes que voy a utlizar son JavaScript y ASP.

SiNSoNiDo

has pensado en los días que son fiesta y no se trabaja? es jodidillo lo que planetas, algo así intenté hacer en visual basic hace tiempo y creo que desistí.

P.D.: para los días de fiesta creo recordar que hice una minibase de datos de una tabla donde agregaba, quitaba o modificaba los días de fiesta. después comprobaba si era uno de los días trabajados y no le contaba.

ElRuso

Los dias festivos los puedo no calcular, como mucho hago un array con las fiestas fijas como 1 de enero 25 de Deciembre, y a las fiestas dinamicas que les den. :)

ElRuso

Pues sin fiestas ha sido bastante facil:
aqui dejo el codico de ASP (VBS) para si a alguin le interesa:

<%
dim startDay, stopDay, x, dayDiff

daydiff=0
if request.Form("submit")="calculate" then
startday=request.Form("start")
stopday=request.Form("stop")
if weekday(startday)=7 and weekday(stopday)=1 then 'if the begining day is Saturday and the End day is Sunday - substract 1
daydiff=daydiff-1
end if

daydiff=daydiff+DateDiff("d",startday,stopday)
daydiff=daydiff-DateDiff("w",startday,stopday,vbsunday) 'substract from day difference number of sundays in between
daydiff=daydiff-DateDiff("w",startday,stopday,vbsaturday) 'substract from day difference number of saturdays in between

response.write daydiff

end if

%>

Usuarios habituales

  • ElRuso
  • SiNSoNiDo