Seite 1 von 1

Uhrzeit --> Timestamp

Verfasst: Mittwoch 6. April 2005, 20:08
von Iopodx
Hiho Gemeinde,

da es ja relativ aufwändig ist mehrere Uhrzeiten zu vergleichen, würde ich gerne mal fragen ob es eine Methode gibt eine Uhrzeit ins Timestamp umzuwandeln?

Danke schonmal im vorraus.

MfG
Iopodx

Verfasst: Mittwoch 6. April 2005, 21:57
von BlackJack
Äh, hallo!? Wie soll man denn darauf antworten!? Was für Uhrzeiten? Wo kommen die her? Wie soll so ein Timestamp aussehen? Ein bischen mehr Information wäre nett.

Verfasst: Donnerstag 7. April 2005, 16:36
von Gast
mit Timestamp meine ich eigentlich das was time() zurückgibt. Das Ausgangsdesign ist etwa: 22:15 Ganz verpeilt zu schreiben :oops:

Danke trotzdem :)

Verfasst: Donnerstag 7. April 2005, 21:13
von BlackJack
Falles es sich um Zeichenketten der Form "<stunden>:<minuten>" handelt dann kannst Du die in Minuten umrechnen:

Code: Alles auswählen

def time_str2minutes(time):
    hours, minutes = map(int, time.split(':'))
    return hours * 60 + minutes

Verfasst: Freitag 8. April 2005, 12:14
von Gast
Ne so meinte ich das nicht.. Ich meinte das man direkt den wert als Timestamp (seit 1970) in Sekunden zurückgeliefert bekommt..

Danke trotzdem..

Verfasst: Freitag 8. April 2005, 19:15
von Mawilo
Hi,

wenn es nur um Uhrzeiten geht ohne das Datum zu beachten, würd ich das so machen:

Code: Alles auswählen

import time

def timestamp(zeit):
    stdmin = zeit.split(':')
    tup = 0,0,0,int(stdmin[0]),int(stdmin[1]),0,0,0,0
    timestamp = time.mktime(tup)
    return timestamp

zeit1 = '22:00'
zeit2 = '3:00'

if timestamp(zeit1) < timestamp(zeit2):
    print 'Wahr'
else:
    print 'Falsch'

Stephan

Verfasst: Freitag 8. April 2005, 19:19
von Leonidas
Ich hab auch mal einen sehr billigen Ansatz zusammengehackt:

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*- 
import time
 
def gm2epochlike(gm):
    years, months, days, hours, minutes, seconds = gm[:6]
    years -= 1970
    since = seconds
    since += minutes * 60
    since += hours * 60 * 24
    since += days * 60 * 24 * 30
    since += months * 60 * 24 * 30 * 12
    since += years * 60 * 24 * 30 * 12 * 356
    return since
 
print gm2epochlike(time.gmtime())
Der Code ist weder sauber noch kompatibel mit den richtigen Werten die time.time() ausspuckt, aber naja...

Verfasst: Dienstag 25. März 2008, 13:45
von Patrick
Wie waers damit?

Code: Alles auswählen

import time
print time.mktime([jahr,monat,tag,stunde,minute,sekunde,0,0,0])

Verfasst: Dienstag 25. März 2008, 13:54
von Y0Gi
Mit der `datetime`-Klasse und Konsorten kann man sehr angenehm arbeiten und die lassen sich natürlich auch vergleichen.

Verfasst: Dienstag 25. März 2008, 13:57
von Leonidas
Man könnte bei dem Nachdenken über den Timestamp auch auf den Timestamp des letzten Postings gucken und feststellen, dass der Thread sowieso nicht mehr aktuell ist. ;)

Verfasst: Dienstag 25. März 2008, 13:59
von Patrick
Leonidas: Ach.. danke, ich kann auch lesen.
Aber kennst du eigentlich den Sinn und Zweck eines solchen Forums?

Die hier diskutierten Probleme sollen nachtraeglich noch mehrfach anderen Leuten helfen. Was hilft dann aber ein Thema, was bis nach 3 Jahren nicht genuegend beantwortet wurde? Nichts, richtig. Darum habe ich einfach eben meinen Senf dazu gegeben.

Aber als Administrator wirst du das natuerlich selber wissen.

Verfasst: Dienstag 25. März 2008, 14:14
von Leonidas
Patrick hat geschrieben:Die hier diskutierten Probleme sollen nachtraeglich noch mehrfach anderen Leuten helfen. Was hilft dann aber ein Thema, was bis nach 3 Jahren nicht genuegend beantwortet wurde? Nichts, richtig. Darum habe ich einfach eben meinen Senf dazu gegeben.
Den besten Tipp hat Y0Gi mit `datetime` gegeben. ``mktime`` wurde ja bereits erwähnt.

Code: Alles auswählen

>>> from datetime import datetime
>>> datetime.now() < datetime.now()
True
Hint, hint: nicht gleich persönlich angegriffen fühlen.

Verfasst: Dienstag 25. März 2008, 14:16
von Patrick
Was er offenbar nicht verstanden hat.
Aber ist ja gut, haben wir uns besser alle lieb!