Umrechnung von Unixzeit
-
- Beiträge: 51
- Registriert: 17. Mai 2018 09:26
Umrechnung von Unixzeit
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!
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!
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
-
- Beiträge: 210
- Registriert: 23. Mai 2017 21:41
Re: Umrechnung von Unixzeit
oder einfach mal aus den eigenen Fragen lernen
viewtopic.php?f=13&t=678&p=3009#p3009
viewtopic.php?f=13&t=678&p=3009#p3009
-
- Beiträge: 51
- Registriert: 17. Mai 2018 09:26
Re: Umrechnung von Unixzeit
Ich möchte aber den Zeitstempel umrechnen in eine Uhrzeit um dann die Stunde von diesem Zeitstempel abzufragen ?
- udo1toni
- Beiträge: 13964
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Umrechnung von Unixzeit
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:
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.
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
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 51
- Registriert: 17. Mai 2018 09:26
Re: Umrechnung von Unixzeit
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?
- udo1toni
- Beiträge: 13964
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Umrechnung von Unixzeit
Steht schon da...
Ich denke, den Rule-Rahmen bekommst Du selbst drum
Code: Alles auswählen
var Number Stunden = ((unixtime % (60*60*24))/(60*60)).intValue
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 51
- Registriert: 17. Mai 2018 09:26
Re: Umrechnung von Unixzeit
Ich bekomme halt immer die Fehlermeldung
Unknown variable or command '%'; line 22, column 28, length 21
- udo1toni
- Beiträge: 13964
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Umrechnung von Unixzeit
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:
Oder als langer Term:
Code: Alles auswählen
val Days=(unixtime/(24*60*60)).intValue
val Rest=(unixtime - Days*24*60*60)
val Stunden = (Rest/(60*60)).intValue
Code: Alles auswählen
val Stunden = ((unixtime - (unixtime/86400).intValue*86400)/3600).intValue
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
- udo1toni
- Beiträge: 13964
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Umrechnung von Unixzeit
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:
Oder als langer Term:
... Hab's grade nochmal ausprobiert. der Modulo-Operator funktioniert nur, wenn es um ein .intValue geht. Also müsste auch
funktionieren.
Code: Alles auswählen
val Days=(unixtime/(24*60*60)).intValue
val Rest=(unixtime - Days*24*60*60)
val Stunden = (Rest/(60*60)).intValue
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
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet