Conversion date string to datetime
Bonjour,
Je me permets de vous contacter car j'ai un petit souci sur la conversion des mes dates.
j'ai une liste de ce type:
Code:
1 2
|
['system01', 'toto', 'tty7', ':0', 'Fri', 'Aug', '26', '10:04', '-', '16:04', '(05:59)', '\n', '26/08/2015 a 10:04', 'INACTIVE'] |
D'après ma condition avec le code entier pour mieux comprendre la démarche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
list_systems = []
filepath = '/opt/portail-api/api-satellite/apisatellite/static/scripts/CRON_AUTO_LAST_LOGON.txt'
with open(filepath,'r') as file:
for i in range(8):
file.readline()
for line in file:
list_systems.extend([line.split(';')])
for item in list_systems:
date = datetime.strptime(' '.join(item[4:8]), "%a %b %d %H:%M").replace(year=datetime.today().year).strftime('%d/%m/%Y a %H:%M')
item.append(date)
if item[0] in [x['name'] for x in client.system.listActiveSystems(key)]:
item.append('ACTIVE')
else:
item.append('INACTIVE')
# Si dans mon element x, le dernier champ est ACTIVE et si les champs jours et mois (ici 'Mon','May','13') dépasse la date d'aujourd'hui de plus de 3 mois d'écart
if item[13] == 'ACTIVE' and (datetime.now()-item[12]).days > 90:
item.append('WARNING')
else:
item.append('OK') |
Mon problème :
Code:
1 2 3 4 5 6 7
|
Traceback (most recent call last)
File "/opt/portail-api/api-satellite/apisatellite/views.py", line 287, in last_logon
if item[13] == 'ACTIVE' and (datetime.now()-item[12]).days > 90:
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'str' |
Ce qui est normal. Mais mon item[12] qui est au format str, je veux pouvoir le remettre en datetime.
Est ce possible? Ou il y a t il une façon plus simple de le faire?