Seite 1 von 1

Zeitformatierung

Verfasst: Freitag 11. August 2006, 11:28
von wolfi
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

Verfasst: Freitag 11. August 2006, 12:36
von murph
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!

Re: Zeitformatierung

Verfasst: Freitag 11. August 2006, 17:27
von 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.

Verfasst: Montag 14. August 2006, 08:55
von wolfi
vielen dank für eure hilfe,
gruß wolfi :D