Seite 1 von 2
Umrechnung von Unixzeit
Verfasst: 26. Jun 2018 09:17
von SmartHomer
Hallo,
ich bin auf der Suche nach einer Möglichkeit zur Umrechnung eines Unix timestamp in eine klassische Uhrzeit.
Beispielsweise habe ich folgenden timestamp 1530003600 welchen ich über das http Binding Abfrage. Dieser timestamp entspricht dem 26.06.2018 - 11:00:00 Uhr. Im nächsten Schritt benötige ich aus dieser Umrechnung nur die Uhrzeit also den Wert 11 zur weiteren Berechnung.
Gibt es hierfür Lösungsansätze?
Danke!
Re: Umrechnung von Unixzeit
Verfasst: 26. Jun 2018 10:28
von hr3
Re: Umrechnung von Unixzeit
Verfasst: 26. Jun 2018 10:32
von hr3
oder einfach mal aus den eigenen Fragen lernen
viewtopic.php?f=13&t=678&p=3009#p3009
Re: Umrechnung von Unixzeit
Verfasst: 26. Jun 2018 10:49
von SmartHomer
Ich möchte aber den Zeitstempel umrechnen in eine Uhrzeit um dann die Stunde von diesem Zeitstempel abzufragen ?
Re: Umrechnung von Unixzeit
Verfasst: 26. Jun 2018 16:22
von udo1toni
Die Unixzeit ist die Anzahl Sekunden seit dem 1.1.1970, 0:00:00 Uhr
Wenn es wirklich nur um die Zeit geht, wäre es wohl das einfachste, die Uhrzeit auszurechnen:
Code: Alles auswählen
var Number unixtime = 1530003600
var Number zeit = unixtime % (60*60*24)
var Number Stunden = (unixtime % (60*60*24)/(60*24)).intValue
var Number Minuten = (unixtime % (60*60)/60).intValue
var Number Sekunden = unixtime % (60) //Rest bei Teilen durch 60
Das ist streng genommen etwas verkürzt, aber da intValue den größen ganzzahligen Anteil kleiner oder gleich der Zahl liefert, sollte es trotzdem funktionieren.
Re: Umrechnung von Unixzeit
Verfasst: 29. Jun 2018 16:18
von SmartHomer
Ich möchte aus einem beliebigen Unix timestamp nur die aktuelle Stunde wissen. Wie sieht hierfür eine Umwandlung mit Hilfe von eine rule aus?
Re: Umrechnung von Unixzeit
Verfasst: 29. Jun 2018 19:40
von udo1toni
Steht schon da...
Code: Alles auswählen
var Number Stunden = ((unixtime % (60*60*24))/(60*60)).intValue
Ich denke, den Rule-Rahmen bekommst Du selbst drum

Re: Umrechnung von Unixzeit
Verfasst: 29. Jun 2018 23:10
von SmartHomer
Ich bekomme halt immer die Fehlermeldung
Unknown variable or command '%'; line 22, column 28, length 21
Re: Umrechnung von Unixzeit
Verfasst: 29. Jun 2018 23:28
von udo1toni
Hmm... Ich erinnere mich, dass es da ein Problem gab. Vielleicht fehlt noch eine Library. Im Zweifel kannst Du es aber auch zu Fuß ausrechnen:
Code: Alles auswählen
val Days=(unixtime/(24*60*60)).intValue
val Rest=(unixtime - Days*24*60*60)
val Stunden = (Rest/(60*60)).intValue
Oder als langer Term:
Code: Alles auswählen
val Stunden = ((unixtime - (unixtime/86400).intValue*86400)/3600).intValue
Re: Umrechnung von Unixzeit
Verfasst: 29. Jun 2018 23:49
von udo1toni
Hmm... Ich erinnere mich, dass es da ein Problem gab. Vielleicht fehlt noch eine Library. Im Zweifel kannst Du es aber auch zu Fuß ausrechnen:
Code: Alles auswählen
val Days=(unixtime/(24*60*60)).intValue
val Rest=(unixtime - Days*24*60*60)
val Stunden = (Rest/(60*60)).intValue
Oder als langer Term:
Code: Alles auswählen
val Stunden = ((unixtime - (unixtime/86400).intValue*86400)/3600).intValue
... Hab's grade nochmal ausprobiert. der Modulo-Operator funktioniert nur, wenn es um ein .intValue geht. Also müsste auch
Code: Alles auswählen
val Stunden = ((unixtime.intValue % 86400)/3600).intValue
funktionieren.