Zeitformatierung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
wolfi
User
Beiträge: 2
Registriert: Freitag 11. August 2006, 10:59

Hallo, ich bin ein Pyhton Neuling und habe eine Frage. Ich möchte einen formatierten Datumswert in einen Float konvertieren. ('20060508 00:00:39.523') mit hundertstel Sekunden Genauigkeit. Vielleicht giebt es diese Möglichkeit.
Vielen Dank im Voraus
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

wo ist da das problem?
erst splittest du die erste zahl in die unterschiedflichen komponenten,
gibst denen deren werte. den anderen auch, da musst du aber nach leerschritten splitten. wenn du damit fertig bist, hast du das modul time, dem du die rechenarbeit überleassen kannst!
http://www.cs.unm.edu/~dlchao/flake/doom/
BlackJack

wolfi hat geschrieben:Ich möchte einen formatierten Datumswert in einen Float konvertieren. ('20060508 00:00:39.523') mit hundertstel Sekunden Genauigkeit. Vielleicht giebt es diese Möglichkeit.
Diese Möglichkeit gibt es. Das Ergebnis ist allerdings nicht ganz eindeutig weil es undendlich viele Möglichkeiten[1] gibt einen Referenzpunkt zu wählen, also zu bestimmen welche Fliesskommazahl zum Beispiel den 0001-01-01 darstellt.

Eine Möglichkeit ist das `time` Modul:

Code: Alles auswählen

from time import mktime, strptime

def str2seconds(timestring):
    timestring, fraction = timestring.split('.')
    return (mktime(strptime(timestring, '%Y%m%d %H:%M:%S'))
            + (float(fraction) / 1000))
Hier hängt es vom Betriebssystem ab, was ``float(0)`` für ein Datum ist. Bei Unixsystemen wird traditionell 1970-01-01 als Stunde 0 angenommen.

[1] Bei Computern wird dieses unendlich im Regelfall durch die Möglichkeiten eines IEEE Floats eingeschränkt.
wolfi
User
Beiträge: 2
Registriert: Freitag 11. August 2006, 10:59

vielen dank für eure hilfe,
gruß wolfi :D
Antworten