Python Fehler hat sich in Zeitfunktion eingeschlichen

maureen

Newbie
Registriert
Apr. 2022
Beiträge
1
Ich habe in einem Script einen String welcher in ein Pythonformat überführt wird. Das hat auch problemlos funktioniert, aber irgendwo muss ich ein Zeichen gelöscht oder hinzugefügt haben da anstatt des Datums nun eine Fehlermeldung erzeugt wird.
Der Datumstring ist
11 May 2016 07:21:04
die dazugehörigen Zeilen
dateTime = datetime.strptime(datestring, '%d %b %Y %H:%M:%S') ## DateTime in Pythonformat umwandeln
tempTime = time.struct_time(year=dateTime.tm_year, month=dateTime.tm_mon, day=dateTime.tm_mday,hour=dateTime.tm_hour, minute=dateTime.tm_min, second=dateTime.tm_sec)
daraufhin erhalte ich eine Fehlermeldung von der ich nicht weiss wo sie herstammt obwohl sie in dieser Zeile sein soll:
AttributeError: 'datetime.datetime' object has no attribute 'tm_year'
(an einem fehlenden Import kann es nicht liegen)
Ich hatte nochmal nachgeschlagen auf https://www.programiz.com/python-programming/time dort wird eine Klasse aufgerufen die sich time.struct_time nennt, dort wird die Funktion time.struct_time genutzt auch dort gibt es das Attribut tm_year. Ich musste leider dieses Stück in Python schreiben, eingebunden sollten aber alle Module sein, und ich kann es aus Zeitgründen auch nicht mehr in eine andere Sprache konvertieren. Dabei brauche ich nur ein Datum mit dem ich rechnen kann. Wo hat sich da der Fehler eingeschlichen der diese Fehlermeldung erzeugt ? Ich brauche dabei keine Erklärung sondern nur eine Funktion die ein Pythondatum zurückgibt in der ich die einzelnen Zeitbestandteile. Wo befindet sich der Fehler ?
 
1. nutz bitte die code format funktion im Forum (rechte 3 Punkte, spitze klammern)
macht das ganze lesbarer ;)
Zeig bitte den ganzen code. Dann kann man auch testen ;) Dein fehler liegt bei vermutlich den imports

koennte schon der fix sein:
from datetime import datetime, tm_year

\
 
  • Gefällt mir
Reaktionen: M4ttX
mhm das soll jemals funktioniert haben?
laut deiner quelle funktioniert schon die struct_time funktion anders als du sie verwendest:

Python:
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27,
                    tm_hour=6, tm_min=35, tm_sec=17,
                    tm_wday=3, tm_yday=361, tm_isdst=0)

du versuchst:
Python:
time.struct_time(year = dateTime.tm_year,......
und dateTime als datetime.datetime hat nunmal kein tm_year?!?

versuch doch mal
Python:
time.struct_time(tm_year = dateTime.year,......

PS: viel Spass bei der Hausaufgabe
 
  • Gefällt mir
Reaktionen: BeBur und madmax2010
Zurück
Oben