Seite 1 von 1
timestamp von aktuellem tag (zeitpunkt 00:00:00)
Verfasst: Freitag 11. Juli 2008, 09:13
von nepi
hallo zusammen
bin noch nicht solange in pyhton unterwegs. desshalb kenne ich mich noch nicht mit allen funktionen der libs aus..
ich möchte gerne den timestamp vom aktuellen datum haben, aber dieser sollte den zeitpunkt 00:00:00 haben, sprich genau wenn der tag beginnt.
habe es so gemacht, abr es gibt sicher eine bessere möglichkeit, da ich so zuerst ein stirng mache, dann den wieder parse...
Code: Alles auswählen
time.mktime(time.strptime(time.strftime("%d.%m.%Y", time.localtime()), "%d.%m.%Y"))
vielen dank
Verfasst: Freitag 11. Juli 2008, 09:34
von numerix
Code: Alles auswählen
>>> import datetime
>>> print datetime.datetime(*datetime.date.today().timetuple()[:3])
2008-07-11 00:00:00
Verfasst: Freitag 11. Juli 2008, 09:38
von BlackJack
Ich würd's so machen:
Code: Alles auswählen
In [225]: import datetime
In [226]: int(datetime.date.today().strftime('%s'))
Out[226]: 1215727200
@numerix: Der Uhrzeitanteil ist bei `date.today()` schon auf 0.
Verfasst: Freitag 11. Juli 2008, 09:49
von numerix
Oder so:
Code: Alles auswählen
>>> print datetime.datetime.combine(datetime.date.today(),datetime.time(0))
2008-07-11 00:00:00
@BlackJack:
Ich verstehe nicht, wie ich deine Information zur konkreten Vereinfachung umsetzen soll.
Verfasst: Freitag 11. Juli 2008, 09:52
von Zap
BlackJack hat geschrieben:Ich würd's so machen:
Code: Alles auswählen
In [225]: import datetime
In [226]: int(datetime.date.today().strftime('%s'))
Out[226]: 1215727200
@numerix: Der Uhrzeitanteil ist bei `date.today()` schon auf 0.
Also bei mir funktioniert dein Tipp nicht...
Code: Alles auswählen
In [7]: sys.version
Out[7]: '2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)]'
In [8]: import datetime
In [9]: int(datetime.date.today().strftime('%s'))
---------------------------------------------------------------------------
<type 'exceptions.ValueError'> Traceback (most recent call last)
c:\<ipython console> in <module>()
<type 'exceptions.ValueError'>: invalid literal for int() with base 10: ''
Verfasst: Freitag 11. Juli 2008, 10:05
von BlackJack
@numerix: Das Ergebnis soll die Zahl 1215727200 sein, keine Zeichenkette.
@Zap: Hm, Schade, dann funktioniert das unter Windows nicht.

Das hier sollte aber gehen:
Code: Alles auswählen
In [240]: time.mktime((datetime.date.today().timetuple()))
Out[240]: 1215727200.0
Verfasst: Freitag 11. Juli 2008, 10:14
von nepi
super... vielen dank euch...
Re: timestamp von aktuellem tag (zeitpunkt 00:00:00)
Verfasst: Freitag 11. Juli 2008, 14:09
von Michael Schneider
nepi hat geschrieben:habe es so gemacht, abr es gibt sicher eine bessere möglichkeit, da ich so zuerst ein stirng mache, dann den wieder parse...
Code: Alles auswählen
time.mktime(time.strptime(time.strftime("%d.%m.%Y", time.localtime()), "%d.%m.%Y"))
Hi Nepi,
wenn ich Deinen Code ausführe, erhalte ich aber
'Fri Jul 11 01:00:00 2008'
Liegt das an der GMT oder an der Sommerzeit?
Gruß,
Michel
Verfasst: Freitag 11. Juli 2008, 14:28
von BlackJack
Das kann nicht sein:
Code: Alles auswählen
In [242]: time.mktime?
Type: builtin_function_or_method
Base Class: <type 'builtin_function_or_method'>
String Form: <built-in function mktime>
Namespace: Interactive
Docstring:
mktime(tuple) -> floating point number
Convert a time tuple in local time to seconds since the Epoch.
Die Funktion nimmt ein Tupel entgegen und liefert eine Fliesskommazahl. Wie Du da das Datum als Zeichenkette herausbekommst, ist mir ein Rätsel!?