Wie Wochentag vom Datum ermitteln?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Alexander Richter
    Smart Home'r
    • 05.07.2018
    • 40

    Wie Wochentag vom Datum ermitteln?

    Hallo,
    aus einem Unix Timestamp berechne ich mit Hilfe eines Formel-Bausteins den Loxone-Timestamp. Diesen Sekundenwert lege ich an AI vom Baustein "Virtueller Status". In der Visualisierung zeigt dieser Baustein dann Datum und Uhrzeit an.
    Wie kann ich den dazugehörigen Wochentag (Montag, Dienstag, ...) - wenn möglich in Kurzform (Mo, Di, ...) ermitteln und anzeigen?
  • loxy
    Extension Master
    • 14.04.2020
    • 163

    #2
    Hallo Alexander,
    ich würde hier mit dem Statusbaustein arbeiten und mit dem "Wochentag" unter Zeiten.
    0 = Montag
    1 = Dienstag
    ...

    AI1 könnte sein: Wenn 0 = Mo.
    AI2 ist dein Datum das du eh schon ermittelt hast
    Dann noch als Ausgabe im Statustext: <v1>, <v2>

    lg Loxy

    Kommentar


    • loxy
      loxy kommentierte
      Kommentar bearbeiten
      Opps, das war mir nicht, klar, hier geht ja nicht ums aktuelle Datum...
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11200

    #3
    Der Punkt ist wohl, dass der Epoch-Timestamp von extern hereinkommt und nicht das aktuelle Datum repräsentiert.

    Ich würde das bereits extern aufbereiten und dann fertig an den Miniserver übermitteln.

    LoxBerry XL kann zb direkt aus Epoch-Zeitstempel verschiedene Daten ausgeben, und natürlich an den MS weitersenden.

    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Vossi
      LoxBus Spammer
      • 25.08.2015
      • 456

      #4
      Ich habe das für mich anders -- einfacher -- gemacht: Es gibt doch unter Zeiten eine Konstante Wochentag, die gibt den aktuellen Wochentag aus: Montag = 0, Dienstag = 1, Mittwoch = 2, Donnerstag = 3, Freitag = 4, Samstag = 5, Sonntag = 6 :-)

      Kommentar


      • Vossi
        Vossi kommentierte
        Kommentar bearbeiten
        Sorry, habe jetzt erst gelesen, dass es nicht ums aktuelle Datum geht... vergesst es :-)
        Zuletzt geändert von Vossi; 22.10.2021, 14:38.
    • Tico
      Lox Guru
      • 31.08.2016
      • 1035

      #5
      Der Wochentag kann wie folgt abgeleitet werden -

      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Day of Week.png
Ansichten: 537
Größe: 19,4 KB
ID: 322050
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Day of Week Status Block.png
Ansichten: 538
Größe: 13,5 KB
ID: 322051

      Das Problem tritt auf, wenn Sie die TQ-Ausgabe des Statusblocks mit einem bestehenden Datum/Uhrzeit kombinieren wollen. Die Einheit <v.u> ist nur als Endpunkt innerhalb des virtuellen Statusblocks verfügbar.

      Die einzige Datums-/Zeitfunktion im Statusblock ist das EIB-Datum/die EIB-Zeit. Um <v.d> und <v.m> zu verwenden, müssen die Sekunden seit 2009 in Tag, Monat, Jahr und Stunden, Minuten, Sekunden umgewandelt werden. Das wird sehr schwierig...
      Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

      Kommentar

    • Tico
      Lox Guru
      • 31.08.2016
      • 1035

      #6
      Danke. Was auch immer es wert ist, die Gruppe Zeit kann auf ähnliche Weise umgewandelt werden.

      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Time Group.png
Ansichten: 573
Größe: 24,9 KB
ID: 322077

      Die Stunden, Minuten und Sekunden sind mit dem entsprechenden Formel-Block im EIB-Beispiel zuvor verbunden.

      Der Wochentag wird mit AI1 des EIB-Blocks Datum-Zeit-Status verbunden.

      Status-Text
      <v1> │ <v2.m>

      Anzeige.
      Sat │ 18:33:59
      Ich spreche kein Deutsch. Gib Google Translate die Schuld, wenn ich unverständlich bin.

      Kommentar

      • romildo
        Lebende Foren Legende
        • 25.08.2015
        • 5113

        #7
        ...Wenn man dies für "Unix Timestamp" verwenden möchte, müsste man noch, je nach Gebiet, die Zeitkorrektur mit einbeziehen.
        Beispiel für Mitteleuropa +2h = 7200s.
        Die Korrektur könnte man über den Eingang I2 am Formelbaustein einspeisen und die Formeln erweitern:
        Beispiel für Wochentag: INT((I1+I2)/86400)
        lg Romildo

        Kommentar

        Lädt...