Uhrzeit --> Timestamp

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
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

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
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.
Gast

mit Timestamp meine ich eigentlich das was time() zurückgibt. Das Ausgangsdesign ist etwa: 22:15 Ganz verpeilt zu schreiben :oops:

Danke trotzdem :)
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
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..
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Patrick
User
Beiträge: 49
Registriert: Montag 5. Juli 2004, 06:35
Wohnort: Berlin
Kontaktdaten:

Wie waers damit?

Code: Alles auswählen

import time
print time.mktime([jahr,monat,tag,stunde,minute,sekunde,0,0,0])
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Mit der `datetime`-Klasse und Konsorten kann man sehr angenehm arbeiten und die lassen sich natürlich auch vergleichen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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. ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Patrick
User
Beiträge: 49
Registriert: Montag 5. Juli 2004, 06:35
Wohnort: Berlin
Kontaktdaten:

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.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Patrick
User
Beiträge: 49
Registriert: Montag 5. Juli 2004, 06:35
Wohnort: Berlin
Kontaktdaten:

Was er offenbar nicht verstanden hat.
Aber ist ja gut, haben wir uns besser alle lieb!
Antworten