NEWS
[Gelöst] Astro-Zeiten unterschiedlich
-
@mickym
Ach du Sch...e :grimacing:Da muss was in der Definition der Funktion falsch sein. Wenn ich ein Datum übergebe ist der Parameter rot unterwellt, weil er der Intellisense nach ein numeric haben will. Aber es ist doch ein Datum und damit geht es.
War zwar etwas langsamer als Du, weil ich inzwischen herumprobiert habe, aber so ist mein Code:
var timestamp; var today = new Date(); var tomorrow = today.setDate(today.getDate()+1); log('date :' + today.toString()); log('tomorrow:' + tomorrow.toString()); timestamp = getAstroDate('sunrise'); setState(idSunriseToday, timestamp.toLocaleTimeString()); timestamp = getAstroDate('sunset'); setState(idSunsetToday, timestamp.toLocaleTimeString()); timestamp = getAstroDate('sunrise', tomorrow); setState(idSunriseTomorrow, timestamp.toLocaleTimeString()); timestamp = getAstroDate('sunset', tomorrow); setState(idSunsetTomorrow, timestamp.toLocaleTimeString());Vielen Dank für die Hilfe.
-
@diwoma Na mit gemeinsamer Recherche haben wir es hinbekommen. ;) - So was freut mich immer am meisten. ;)
@mickym, @diwoma zur Ergänzung:
getAstroDate() akzeptiert als 2ten Parameter entweder ein Datum oder einen timestamp, also die millisekunden seit 1.1.1970. Das Datum wird unterkringelt weil es in der Funktionsdefinition nicht angegeben ist. Just gestern habe ich einen PR erstellt welcher u.a. diesen 'Fehler' behebt, welcher aber eher kosmetisch ist. Fehlt der 2te Parameter, so nimmt getAstroDate() den laufenden Tag. Die o.g. Astro Settings in der Instanz wirken sich nicht auf die Berechnung aus, die Koordinaten aber natürlich schon.Es empfiehlt sich im Datum die Mittagszeit mit anzugeben sonst erhält man u.U. die Daten des Vortages.
let tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); tomorrow.setHours(12, 0, 0, 0); log(tomorrow) let sunrise = getAstroDate('sunrise', tomorrow) log(sunrise)