Ankündigung

Einklappen
Keine Ankündigung bisher.

Smartvisu Kalender - Zeitversatz + Anzeigefrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Smartvisu Kalender - Zeitversatz + Anzeigefrage

    Hallo zusammen,

    mir sind 2 Dinge gerade aufgefallen:

    1. bei einem Termin mit Uhrzeit gibt es bei mir einen Zeitversatz von einer Stunde, bei gmail steht er für 15 Uhr drin und angezeigt wird er für 16 Uhr, Uhrzeit und Datum im Clock widget werden richtig angezeigt

    2. bei einem Termin, der heute stattfindet, sollte idealerweise als Datumsangabe "heute" stehen und bei Terminen für morgen entsprechend "morgen", das liest sich schöner und ist z.B. so bei meinem MagicMirror realisiert Wo kann ich dass ggf. selbst anpassen? Muss ja nur ein datediff gemacht werden und dann das Datum mit "heute" oder "morgen" ersetzt werden

    VG
    F.

    #2
    Teil 2 hab ich in der calender.js angepasst:

    Code:
        //get current date 17032019 Fistandantilus
                var Datum = new Date();
                var Tag = Datum.getDate();
                var Monat = Datum.getMonth() + 1;
                var Jahr = Datum.getFullYear();
                if (Tag < 10){
                    Tag = "0" + Tag;
                }
                if (Monat < 10){
                    Monat = "0" + Monat;
                }
                var heute = Tag + "." + Monat +"." + Jahr;
        //end current date
    
    
    ...
    
    
                    // build period string to display
                    var period;
                    // Start and end on same day: show day only once
                    if(entry.end.transUnit('date') == entry.start.transUnit('date'))
                        //check if same day and then dont display day but "today" 17032019 Fistandantilus
                        if(entry.start.transUnit('date') == heute)
                            period = 'heute' + ' ' + entry.start.transUnit('time') + ' - ' + entry.end.transUnit('time');
                        else
                            period = entry.start.transUnit('date') + ' ' + entry.start.transUnit('time') + ' - ' + entry.end.transUnit('time');
                        //end check
                    // Full day entrys: don't show time
                    else if (entry.start.getHours()+entry.start.getMinutes()+entry.start.getSeconds() == 0
                        && entry.end.getHours()+entry.end.getMinutes()+entry.end.getSeconds() == 0) {
                        entry.end.setDate(entry.end.getDate()-1); // subtract one day from end
                        if(entry.end.transUnit('date') == entry.start.transUnit('date')) // One day only: Show just start date
                            //check if same day and then dont display day but "today" 17032019 Fistandantilus
                            if(entry.start.transUnit('date') == heute)
                                period = 'heute';
                            else
                                period = entry.start.transUnit('date');
                            //end check
                        else // Multiple days: Show start and end date
                            //check if same day and then dont display day but "today" 17032019 Fistandantilus
                            if(entry.start.transUnit('date') == heute)
                                period = 'heute' + ' - ' + entry.end.transUnit('date');
                            else
                                period = entry.start.transUnit('date') + ' - ' + entry.end.transUnit('date');
                            //end check
                    }
                    else
                        if(entry.start.transUnit('date') == heute)
                            period = 'heute' + ' ' + entry.start.transUnit('time') + ' - ' + entry.end.transUnit('date') + ' ' + entry.end.transUnit('time');
                        else
                            period = entry.start.transUnit('date') + ' ' + entry.start.transUnit('time') + ' - ' + entry.end.transUnit('date') + ' ' + entry.end.transUnit('time');
                        //end check
    Schön isses nicht, weil die Prüfung mehrfach passiert, aber es läuft erstmal...
    Bei Gelegenheit bau ich das mal um und mach noch die Prüfung auf morgen

    Kommentar


      #3
      Punkt 1 kommt mir bekannt vor. Stimmen die Zeitzonen im Kalender, dem Server und dem Client?
      Welchen Treiber nutzt du, ICS, Google API oder GoogleV3?

      Ein Pull Request zu 2 würde mich freuen. Allerdings müsste der Text noch aus der lang/*.ini kommen.

      Kommentar


        #4
        Als Treiber verwende ich den ICS. Zeitzone Client (Mac) ist Deutschland, Smartvisu läuft bei mir in einem Docker Container auf einem Synology. Dort hab ich jetzt mal nachgeschaut, ist tatsächlich auf UTC. Leider bekomme ich das aber dort nicht geändert. Theoretisch müsste das aber egal sein, wenn der Client die Zeitzone vorgibt bzw. es ggf. in Smartvisu vorgegeben werden würde oder?

        Zu Punkt zwei geb ich Dir Bescheid, ich werd mich da mal ransetzen.

        Kommentar


          #5
          Ein Ort für die Zeitzone habe ich noch übersehen: Was ist in der smartVISU Konfiguration angegeben?
          Da Abruf und Aufbereitung auf dem Webserver in PHP laufen, kann die Zeitzone dort durchaus relevant sein. Allerdings wird sie durch die erwähnte Konfiguration übersteuert.

          Kommentar


            #6
            In Smartvisu ist Berlin angegeben, Zeitquelle Client.

            Kommentar


              #7
              Hi smai,

              ich habe gerade meinen Docker Container aktualisiert und hab dort jetzt die selbe Zeitzone, wie im Host CEST.
              Der Kalender zeigt trotzdem falsche Zeiten an. Dass allerdings auch nicht konsequent. Ich habe einen Kalendereintrag 8-9 -> angezeigt wird 6-7, der zweite Eintrag ist von 14-15 -> das stimmt und dann hab ich noch einen 3. 8-9, wo auch wieder 6-7 angezeigt wird

              Kommentar


                #8
                Sind alle drei Einträge in derselben Sommer-/Winterzeit? Vielleicht liegt es ja daran und gar nicht an der Zeitzone.
                Oder hat ein Termin auf Google eine andere Zeitzone (in der aktuellen Weboberfläche von Google Calendar oben rechts neben dem Datum).

                Kommentar


                  #9
                  Das war auch eine Vermutung, sie sind aber alle in GMT +2h. Einziger Unterschied der Termin, der funktioniert, ist eine Serie, die anderen beiden Einzeltermine.
                  Server + Host laufen beide in CEST, SV ist auch auf Berlin gesetzt.
                  Zuletzt geändert von Fistandantilus; 05.04.2019, 10:21.

                  Kommentar


                    #10
                    Zitat von Fistandantilus Beitrag anzeigen
                    Einziger Unterschied der Termin, der funktioniert, ist eine Serie
                    Das wiederum ist interessant. An welchem Datum hat die Serie begonnen?

                    Kommentar


                      #11
                      Erstmalig am 30.3.

                      Kommentar


                        #12
                        Also noch vor der Sommerzeit.
                        Ich werde versuchen, das nachzubauen. Vielleicht liegt es ein Problem wenn es über die Zeitumstellung hinaus geht.

                        Werden denn die Sommerzeit-Termine bei dir immer noch falsch angezeigt, auch jetzt wo wir in der Sommerzeit sind?

                        Kommentar


                          #13
                          Ja, werden sie: 19.4. 8-15 statt 10-17, 20.4. 13-15:30 statt 15-17:30. Ab morgen oder übermorgen seh ich auch den Serientermin wieder, mal schauen, was dann angezeigt wird.

                          Kommentar


                            #14
                            So, kurzes Update - der Serientermin wir weiterhin korrekt angezeigt.

                            Kommentar

                            Lädt...
                            X