Seite 1 von 1
Dauer
Verfasst: Freitag 25. Oktober 2002, 14:48
von Alexander Kunstmann
Hallo,
wie kann ich ermitteln wie lange ein Objekt (Ein Ticket) exestiert
und dann in Zope ausgeben.
Beim Einlegen von Tickets wird die Zeit automatisch gespeichert.
Normalerweise soll die aktuelle Zeit mit der Zei vergliechen werden, wann der Ticket angelegt wurde und dann die Differenz ausgegeben werden. Aber irgendwie funktionirt das nicht.
Vielen Dank im Voraus.
Alexander Kunstmann
Verfasst: Freitag 25. Oktober 2002, 18:04
von RicmanX
Einfach Zeiten von einander subtrahieren
Falls du's als Tuple (sprich Sekunden, Minuten, Stunden...) willst, musst du es noch umwandeln:
Allerdings macht das dumme Dinge dann noch "1.1.1970" (und die lokale Sommerzeit dazu), falls man das auch noch raushaben will muss man halt die Einzelnen Elemente des tuples der Epochensekunde 0 (time.localtime(0)) abziehen, allerdings ist das nur auf Tage genau
Dauer
Verfasst: Mittwoch 30. Oktober 2002, 16:11
von Alex Kunstmann
Hallo,
klappt leider nicht ganz. Kann vielleich jemand sagen was ich falsch mache.
Der Python Script:
ende = Stoerungsende(id)
anfang = Erstellungsdatum(id)
date_hum_ende = DateTime(ende)
date_epo_ende = date_hum_ende.timeTime()
date_hum_anfang = DateTime(anfang)
date_epo_anfang = date_hum_anfang.timeTime()
date_diff_epo = date_epo_ende - date_epo_anfang
dauer = (date_diff_epo / 86400)
print "%0.2f" % (dauer)
return printed
Der Aufruf in Zope:
<TR align=center width=10 bgcolor="#CC3300">
<TD ROWSPAN=4>
<P ALIGN=CENTER>
<dtml-var id>
<dtml-var Intern>
<dtml-var expr="Dauer(_['sequence-item'].getId()">
</P>
</TD>
Bekomme immer Fehlermeldung:
Error Value: global name 'Stoerungsende' is not defined
Danke.
Alex
Verfasst: Mittwoch 30. Oktober 2002, 17:21
von RicmanX
Dann hast du dich wohl bei "def Stoerungsende(a):" verschrieben
bzw. mit dem return der Funktion haut etwas nicht so hin.