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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?