Seite 1 von 1

problem mit datetime

Verfasst: Donnerstag 21. Februar 2013, 16:54
von Joe-Waschl
moin :)

habe ein kleines problem mit der formatierung der datums angabe, und komm nicht dahinter :roll:
bräuchte euren rat
die erste print ausgabe passt, so wollte ich das haben, aber die zweite will nicht ganz

gruß joe

Code: Alles auswählen

#!/usr/bin/python
#-*- coding: UTF-8 -*-

'''
Created on 17.02.2013
version: 1.1
@author: user1
'''

from datetime import datetime, timedelta

'''
now = aktuellezeit
l = kannenlaufzeit
z = kannzahl
a = Restliche laufzeit der aktuellen kanne
'''


now = datetime.now()

l = timedelta(minutes=(int(raw_input('Kannenlaufzeit: ')))) 
z = int(raw_input('Kannenzahl: '))
a = timedelta(minutes=(int(raw_input('Laufende Kanne läuft noch?: '))))

print 'Jetzt ist es', now.strftime('%d.%m.%Y %H:%M')
print 'Die GA endet um:',z * l + a + now.strftime('%d.%m.%Y %H:%M'), 'Uhr'

Code: Alles auswählen

Kannenlaufzeit: 30
Kannenzahl: 15
Laufende Kanne läuft noch?: 12
Jetzt ist es 21.02.2013 16:49
Die GA endet um:Traceback (most recent call last):

  File "/home/user1/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev.debug_2.5.0.2012040618/pysrc/pydevd.py", line 1346, in <module>
    debugger.run(setup['file'], None, None)
  File "/home/user1/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev.debug_2.5.0.2012040618/pysrc/pydevd.py", line 1060, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "/home/user1/workspace/laufzeit/laufzeit.py", line 30, in <module>
    print 'Die GA endet um:',z * l + a + now.strftime('%d.%m.%Y %H:%M'), 'Uhr'
TypeError: unsupported operand type(s) for +: 'datetime.timedelta' and 'str'

Re: problem mit datetime

Verfasst: Donnerstag 21. Februar 2013, 17:15
von BlackJack
@Joe-Waschl: Die Fehlermeldung ist doch recht deutlich: Du versuchst ein Objekt vom Typ `timedelta` und eine Zeichenkette (`str`) mit ``+`` zu addieren. Das geht aber nicht, man kann keine Zeichenketten zu `timedelta` addieren. Du möchtest vielleicht entsprechend Klammern setzen, damit das `strftime` nicht auf `now` sondern auf das Ergebnis der Zeitrechnung aufgerufen wird.

Edit: Und vielleicht möchtest Du auch vernünftige Namen verwenden. Dann brauchst Du auch keine Zeichenketten als Kommentare missbrauchen die die Namen erklären.

Re: problem mit datetime

Verfasst: Donnerstag 21. Februar 2013, 17:58
von Joe-Waschl
danke für die schnelle antwort :)
jetzt klappts
thx ;)

Code: Alles auswählen

print 'Die GA endet um:',  (z * l + a + now).strftime('%d.%m.%Y %H:%M'), 'Uhr'