Wie kann ich das Datum in einem Label durch "Heute" bzw. "Morgen" ersetzen

Begonnen von dt2510, 15 März 2018, 13:55:27

Vorheriges Thema - Nächstes Thema

dt2510

Ich habe zwei Dummies "Sonnenaufgang" und "Sonnenuntergang", die Datum und Uhrzeit in der Form "JJJJ-MM-DD HH:MM:SS" bereitstellen.
Ich stelle die Werte getrennt in 2 Labels dar

                        <td colspan="2" class="normal right-align">
                          <div data-type="label"
                               data-device="Sonnenaufgang"
                               data-get="TRIGGERTIME_FMT"
                               data-part="1">
                          </div>
                        </td>
                        <td class="normal">
                          <div data-type="label"
                               data-device="Sonnenaufgang"
                               data-get="TRIGGERTIME_FMT"
                               data-part="2">
                          </div>
                        </td>


data-part 1 enthält das Datum und data-part 2 die Uhrzeit. Wie erreiche ich es (per RegEx ?) dass das Datum durch den Text "Heute" bzw. "Morgen" ersetzt wird ?

setstate

Ich vermute es ist immer das Datum von heute bzw. morgen. Dann würde ich einen festen String nehmen "Heute" "Morgen"

Alles andere ist noch nicht eingebaut.

dt2510

es ist nur "Heute" und "Morgen", aber Sonnenauf- und Untergang können sowohl heute als auch morgen sein - ich bräuchte irgendetwas als Vergleich ...

Ich könnte theoretisch die Uhrzeit vergleichen ... ist es früher als aktuell, zeig ich "Morgen" an, sonst "Heute" - aber wie codiere ich das ?

dt2510

Ich hab' ein userReading "DayLabel" angelegt. Die Funktionen SetDayMode/SetNightMode bei Tag/Nacht-Wechsel hatte ich schon in der 99_myUtils.pm
Ich hab' einfach noch eine Funktion NewDay mit einem at für 00:00:00 Uhr aufgerufen und setze DayLabel wie folgt:

           Day     NewDay  Night
Aufgang    Morgen  Heute   Morgen
Untergang  Heute   Heute   Morgen