Timestamp aus Zeit-String erstellen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe in einer Variable eine Uhrzeit in dem Format "12:34:56"
    Ich brauche nun den (Unix) Timestamp des aktuellen Tages mit der Uhrzeit aus der Variable

    uhrzeit = "12:34:56"
    timestamp = ? Aktueller Tag + uhrzeit ?

  • das hier hilft mir schon seit Jahren

    ewiger Kalender, leider in C (ich habe auch eine VBA Variante für Exel)


    damit kann man mit Time
    eine long integer Varable machen

    also
    Stunde * 3600 (für Sekunden) +
    Minute * 60 (für Sekunden) +
    Sekunde +
    Sekunden pro Tag = 24 * 3600
    x Tage Offset

    es ist normalerweise nicht nötig die Sekunden bis zum Jahr 0 zu rechnen wäre eine 64 - bit long, aber mit einer 32 bit long käme man ab heute lange genug nach vorne, einfach ein Offset berechnen

    2^32-1 reicht 4294967295 Sekunden
    bei 86400 Sekunden pro Tag reicht das 49710 Tage = 136 Jahre ab heute

    heute ist der Tag 0

    wir wollen morgen einschalten + x Sekunden und in einer Woche ausschalten (einfach rechnen)

    dann immer die aktuelle Sekunde holen und vergleichen.

    also aktuelles Datum und Zeit in Sekunde umrechnen, aus der Tabelle Datum und Zeit nehmen umrechnen in Sekunden und vergleichen.

    was interessiert auch die Sekunde vor 30 Jahren, wir wollen ja zukünftig schalten.

    calen.c

    calen.h

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (12. März 2014 um 22:55)


  • Ich habe in einer Variable eine Uhrzeit in dem Format "12:34:56"
    Ich brauche nun den (Unix) Timestamp des aktuellen Tages mit der Uhrzeit aus der Variable

    uhrzeit = "12:34:56"
    timestamp = ? Aktueller Tag + uhrzeit ?

    Was du suchst ist die "time" funktion von Python:
    http://openbook.galileocomputing.de/python/python_…68b0f1ff3efa605

    Da steht, wie es geht... den gegebenen String in der Variablen musst du noch in Stunden, Minuten und Sekunden zerlegen, was ja mit den Stringfunktionen in Python auch sehr easy geht...

    :thumbs1:


  • Zentris
    Warum bennenst du eine Liste als tupel?

    Tupel:
    "...[font="sans-serif"]Ein Tupel ist eine endliche Liste, in der hintereinander [/font][font="sans-serif"]mathematische Objekte[/font][font="sans-serif"], die nicht notwendig voneinander verschieden sein müssen, angegeben sind, wobei die Reihenfolge entscheidend ist. Zum Beispiel sind die Listen..."[/font]

    Hab ich mir einfach so gedacht... ;) das Progrämmchen hab ich in 5 min schnell mal "hingeklatscht", da hab ich mir so die Begriffe, mit denen ich so auf Arbeit derzeit zu tun habe "ausgeliehen"... hat also keinen tiefgreifenden Hintergrund... :shy:

    • Offizieller Beitrag


    haarspalterrei

    Ich nenn meine variablen gerne a-z. wobei i = integerwerte und x= strings in schleifen sind. aber eine List tupel zu nennen verwirrt beim querlesen dann doch schon.

    Aber am ende hast du recht, solange er damit klar kommt ist alles gut.

    kleine Anmerkung: Obacht bei python 2.x, dort ist True keine Schlüsselwort.

    Code
    True = False


    Somit ist True false, was echt verwirrend ist.

  • Wenn man so ein kleines Codesnippet schreibt - die Betonung liegt auf klein - ist es ziemlich egal wie die Variablen heissen. In dem Moment sieht man am Namen was der Coderersteller gedacht hat (eine Art freudscher Versprecher?)

    Wenn ich eine größere Menge von CodeZeilen habe benutze ich immer Namen die zum zu lösenden Problem passen. Also nicht Liste sondern Personen oder Besucher wenn ich eine Liste von Personen oder Besuchern im Code bearbeite. Die Implementierung der Liste als Map, Hashmap, Set oder sonst was kann sich jederzeit ändern und hilft nicht bei der Lesbarkeit eines Programms. Spätestens wenn man nach einem halben Jahr ein von einem selbst geschriebenes Programm erweitern will oder man einen Fehler sucht ist man glücklich sprechende Variablennamen gewählt zu haben. Da ein jeder schreibfaul ist liegt natürlich nahe, a,b,c zu benutzen. Aber die IDEs heutzutage unterstützen einen sehr bei der Variablencompletion so dass ich eigentlich nur noch in kurzen trivialen Schleifen ein i, j oder k benutze - und a,b,c in CodeSnippets :)

  • Na gut, dann will ich das mal begründen (will aber nicht den Oberlehrer rauskehren, nur mal so erläutern...) :angel:

    Nun ja, vermutlich werden die meisten hier mit dem "Tupel" Begriff nix anfangen können, weil der im normalen Sprachgebrauch meist nicht eingesetzt wird. Da, wo ich arbeite eben schon, so dass ich mir da keine Gedanken bei der Verwendung gemacht haben. :daumendreh2:

    Der Begriff "Tupel" kommt letztlich aus der Mengenlehre und bezeichnet mathematisch gesehen Listen... mit definierten Eigenschaften => kann man auch in dem Wiki-Beitrag nachlesen.

    Ich habe den Begriff zwar so mal locker eingesetzt, aber durchaus im Zusammenhang:

    Die Aufspaltung des gegeben Strings "12:30:10" in eine Liste ist ja notwendig.
    Nun hat die Liste aber eine "besondere" Eigenschaft: die Position, an der die Werte stehen, ist wichtig (hh : mm : ss)
    ==> "hh" => Element No. 0, "mm" => Element No. 1 usw.
    damit später der richtige Wert entnommen werden kann.

    Es ist also wichtig, eine Liste zu nehmen, die die Elemente so wiedergibt, wie sie eingespeist werden, es gibt auch Listen/Arrays, wo die Position des Elemente nicht zwingend die ist, in der sie eingespeist werden (hash-Arrays usw.., Assoziative Arrays... - ok, die haben noch einen Key...)

    So, ansonsten: Nehmt es einfach als "künstlerische Freiheit des Entwicklers" hin :lol::lol::lol:


  • Ich geb dir ja prinzipiell recht, aber mit

    Code
    tupel=str.split(zeit,":")

    erzeugst du eine Liste und kein Tupel.

    Hm, was genau an meinem Satz

    Zitat


    Der Begriff "Tupel" kommt letztlich aus der Mengenlehre und bezeichnet mathematisch gesehen Listen... mit definierten Eigenschaften => kann man auch in dem Wiki-Beitrag nachlesen.


    hast du jetzt nicht verstanden? =(

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!