NEWS
[gelöst] Zwei Uhren unterschiedliche Zeitzonen
-
Hi Leute
Ich frage mich gerade wie man zwei Uhren darstellen kann mit unterschiedlichen Zeitzonen, ich finde hier nichts im Forum, hat das noch nie jemand gemacht?
Ich möchte gerne die lokale Zeit und die Brasilianische Zeit darstellen, wie kann ich das machen?danke
Anfänger Tomsn -
@Tom-Son sagte:
und die Brasilianische Zeit darstellen
var now = new Date(); var timeBrazil = now.toLocaleTimeString('de-DE', {timeZone: 'Brazil/East', hour12: false}); // var timeBrazil = now.toLocaleTimeString('de-DE', {timeZone: 'America/Sao_Paulo', hour12: false});
-
Danke Paul53
Wie bekomme ich das aber nun auf das Uhrenwidget vom HABpanel? Dort kann ich das Script nicht verknüpfen... -
@Tom-Son sagte:
Wie bekomme ich das aber nun auf das Uhrenwidget vom HABpanel?
Keine Ahnung: Ich kenne HABpanel nicht.
-
Hi Paul
ich versuche mich gerade im VIS aber ich weis nicht wie ich das zum laufen bekommen soll, hast du da noch eine Anleiung für Anfänger wie mich? -
@Tom-Son sagte:
hast du da noch eine Anleiung für Anfänger wie mich?
Nein, mit Vis kenne ich mich nicht aus.
Mit dem Script kann die brasilianische Uhrzeit im Format "h:mm:ss" in einen Datenpunkt geschrieben werden, der dann in Vis ausgewertet werden kann.schedule('* * * * * *', function() { var now = new Date(); var timeBrazil = now.toLocaleTimeString('de-DE', {timeZone: 'America/Sao_Paulo', hour12: false}); setState('Datenpunkt-ID für Vis', timeBrazil, true); // Format: h:mm:ss });
-
Danke! klappt schon ganz gut
Jetzt hab ich nur noch eine Fragen wegen dem aussehen der anderen Uhr, wie kann ich die Lokale Zeit in einen Datenpunkt schreiben und auch das Datum mit einem einfachen Text anzeigen lassen? Das ist nur damit alles gleich aussieht...
-
@Tom-Son sagte:
wie kann ich die Lokale Zeit in einen Datenpunkt schreiben
schedule('* * * * * *', function() { var now = new Date(); var timeDe = now.toLocaleTimeString('de-DE', {timeZone: 'Europe/Berlin', hour12: false}); var timeBrazil = now.toLocaleTimeString('de-DE', {timeZone: 'America/Sao_Paulo', hour12: false}); var datum = formatDate(now, 'DD.MM.YYYY'); setState('Datenpunkt-ID für Vis De', timeDe, true); // Format: h:mm:ss setState('Datenpunkt-ID für Vis Br', timeBrazil, true); // Format: h:mm:ss setState('Datenpunkt-ID für Vis Datum', datum, true); });
-
@Tom-Son
Man kann auch das NPM-Modul get-timezone-offset unter "Zusätzliche NPM-Module" in der Konfiguration der Javascript-Instanz eintragen und dann im Script verwenden.const tzoffset = require('get-timezone-offset'); schedule('* * * * * *', function() { let now = new Date(); let de = tzoffset('Europe/Berlin', now); let br = tzoffset('America/Sao_Paulo', now); let diff = 60000 * (br - de); br = formatDate(now.getTime() - diff, 'DD.MM.YYYY hh:mm:ss'); de = formatDate(now, 'DD.MM.YYYY hh:mm:ss'); setState('Datenpunkt-ID für Vis De', de, true); setState('Datenpunkt-ID für Vis Br', br, true); });
Siehe formatDate()
-
Super, vielen Dank Paul! Läuft
-
@Tom-Son sagte:
Läuft
Welche Version ? Die mit dem NPM-Modul ?
Bitte das Thema in der Überschrift des ersten Beitrags als [gelöst] markieren. -
@paul53
Die mit dem NPM Modul habe ich jetzt bei mir laufen.