NEWS
getAstro date verschieben
-
Hallo,
kann man das Ergebnis einer getAstroDate funktion irgendwie verschieben?So steht es ja in der Dóku:
getAstroDate(pattern, date);
Aber wenn ich bspw. das hier eintrage:
let actualDawn2 = getAstroDate({astro:"dawn",shift:10}).toLocaleTimeString();
Dann bekomme ich die Fehlermeldung, dass der Ausdruck:
{astro:"dawn",shift:10}
nicht dem type string entspricht.
-
@ben1983 sagte in getAstro date verschieben:
{astro:"dawn",shift:10}
wie kommst du dadrauf dass du ein json übergeben musst ? und wo ist dein Date ..wenn schon...
var datum= new Date(); var nacht= today.setDate(datum.getDate() + 1); var morgenNacht = getAstroDate("night", nacht);
würde ich mal behaupten
-
@arteck So stehts in der doku:
let sunriseEnd = getAstroDate("sunriseEnd");
Denke wennd das date heute ist, ist es nicht notwendig.
Aber mir gehts darum, dass ich das ergebnis einfach 10 min verschieben kann.Hintergrund ich möchte etwas nur anschalten, wenn die aktuelle Zeit den geschifteten Wert vor dem "dawn" liegt.
-
@ben1983 sagte in getAstro date verschieben:
Aber mir gehts darum, dass ich das ergebnis einfach 10 min verschieben kann.
Ich machs so.
schedule({astro: "sunset", shift: 10}, function () { //(Sonnenuntergang) sunset (Sonnenuntergang).........................: 18:08:47 if (IsWinter()) { log('Night is true: sunset'); setState("0_userdata.0.astro.night", true); } });
-
@johgre Danke für die Info, aber ich möchte ja keine Astro schedule erzeugen,
sondern in einer zeit gesteuerten das ganze abfangen:-
um 05:00 Uhr soll etwas aktiviert werden (wenn dawn nicht vor 05:10 Uhr liegt => deshalb aktuelle zeit + 10
-
mit dawn soll deaktiviert werden.
-
mit dusk aktiviert
-
um 23:59 deaktiviert
-
-
@johgre Also mir würde es ja auch schon reichen, wenn ich die aktuelle Zeit schieben könnte.
Dann könnte ich vergleichen, ob die aktuelle (+offset) <= "dawn" ist und somit wäre "dawn" mindestens den offset größer
-
@johgre Habe es raus bekommen, geht so:
let actualTime1 = new Date(); actualTime1.setMinutes(actualTime1.getMinutes() + 10);
-
@ben1983 sagte: um 05:00 Uhr soll etwas aktiviert werden (wenn dawn nicht vor 05:10 Uhr liegt
schedule('0 5 * * *', function() { if(getAstroDate('dawn').getTime() > Date.now() + 600000) { // Aktion }; });
-