Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/02/2014, 13:24
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Desafió 2014 - Semana 2

Hola,

Mi versión de la solución:

Código Python:
Ver original
  1. def weekdays(from_date, to_date):
  2.     from time import mktime
  3.    
  4.     a = mktime(from_date.timetuple())
  5.     b = mktime(to_date.timetuple())
  6.    
  7.     cuatro_dias = 345600
  8.     sa = int((a + cuatro_dias) / 60 / 60 / 24 / 7)
  9.     sb = int((b + cuatro_dias) / 60 / 60 / 24 / 7)
  10.     ra = int(a / 60 / 60 / 24 % 7)
  11.     rb = int(b / 60 / 60 / 24 % 7)
  12.     c = (sb - sa) * 2
  13.    
  14.     if sa == sb:
  15.         if ra == 2 or ra == 3:
  16.             c += 1
  17.         if ra != rb and (rb == 2 or rb == 3):
  18.             c += 1
  19.     else:
  20.         if ra == 3:
  21.             c += 1
  22.         if rb == 2:
  23.             c += 1
  24.    
  25.     return c

Saludos,