301 |
annos=1,meses=2. Otro ejemplo: si el mes tiene 30 dias, la fecha relativa |
annos=1,meses=2. Otro ejemplo: si el mes tiene 30 dias, la fecha relativa |
302 |
meses=3,dias=-5 equivale a meses=2,dias=25. |
meses=3,dias=-5 equivale a meses=2,dias=25. |
303 |
|
|
304 |
|
Se admiten cantidades fraccionarias, que serán convertidas a la unidad inferior. Por |
305 |
|
ejemplo, 1.5 dias se convierte a 1 dia y 12 horas. |
306 |
|
|
307 |
Invariantes: |
Invariantes: |
308 |
__signo in [-1, 1] |
__signo in [-1, 1] |
309 |
__annos >= 0 |
__annos >= 0 |
317 |
annos >= 0 |
annos >= 0 |
318 |
""" |
""" |
319 |
self.__signo = signo |
self.__signo = signo |
320 |
self.__annos = annos |
self.__annos = int(annos) |
321 |
self.__meses = meses |
self.__meses = int(meses) |
322 |
self.__dias = dias |
self.__dias = int(dias) |
323 |
self.__horas = horas |
self.__horas = int(horas) |
324 |
self.__segundos = segundos |
self.__segundos = int(segundos) |
325 |
|
|
326 |
|
# Asignar las partes fraccionarias a la unidad inferior |
327 |
|
self.__meses += int((annos - int(annos)) * FechaHoraMine.MESES_POR_ANNO) |
328 |
|
self.__dias += int((meses - int(meses)) * FechaHoraMine.DIAS_POR_MES) |
329 |
|
self.__horas += int((dias - int(dias)) * FechaHoraMine.HORAS_POR_DIA) |
330 |
|
self.__segundos += int((horas - int(horas)) * FechaHoraMine.SEGUNDOS_POR_HORA) |
331 |
|
self.__horas += int((dias - int(dias)) * FechaHoraMine.HORAS_POR_DIA) |
332 |
|
|
333 |
|
|
334 |
def __repr__(self): |
def __repr__(self): |