Je pense que je ne comprend pas vraiment bien l’utilisation des keywords en python.
L’idée de mon bout de code est d’ajouter à une date start, un nombre roll_period de quantité roll_duration (mois, jours, années, semaines)
j’utilise pour cela dans la librairie dateutil la classe relativedelta dont l’utilisation est la suivante :
[quote]There’s two different ways to build a relativedelta instance. The
first one is passing it two date/datetime classes:
relativedelta(datetime1, datetime2)
And the other way is to use the following keyword arguments:
year, month, day, hour, minute, second, microsecond:
Absolute information.
years, months, weeks, days, hours, minutes, seconds, microseconds:
Relative information, may be negative.[/quote]
Dans mon code, end1=start+relativedelta(months=+roll_period) fonctionne bien, mais est-il possible de passer en argument de relativedelta roll_duration qui est égal à months ici ?
[code]import unittest
from dateutil.relativedelta import *
from datetime import *
class Test(unittest.TestCase):
def testdateutil(self):
start=datetime(2007,6,12)
roll_duration="months"
roll_period=6
end1=start+relativedelta(months=+roll_period)
end=start+relativedelta(None, None,0, 6)
#end1=start+relativedelta(roll_duration=+6)
print(end,end1)
assert(end,end1)
if name == “main”:
#import sys;sys.argv = [’’, ‘Test.testdateutil’]
unittest.main()[/code]