Ankündigung

Einklappen
Keine Ankündigung bisher.

Kalenderwoche berechnen

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

    Kalenderwoche berechnen

    Hi,

    ich versuche gerade irgendwie die Kalenderwoche (gerade oder ungerade) zu berchnen. Als Basis habe ich den aktuellen Datumswert genommen doch leider komme ich nicht weiter. Hat diese Aufgabe schon einer von Euch implementiert? Ich wollete es für die Mülltonnen verwenden. Leider werden nur Beispiele verwendet die an feste Datumsangaben gebunden sind. Bei uns erfolgt z.B. die Blaue Tonne immer Dienstags in ungeraden Wochen. Hat einer eine Idee?

    Danke Jens

    #2
    Wie wäre es mit BASH-Skript? Mit Date bekommt man das einfach hin...Beispiel:
    date --date="2016-01-03" +%U

    Kommentar


      #3
      Hallo Jörg,

      ich habe jetzt eine Idee mit einer Datumsberechnung werde jetzt erst mal probieren

      var org.joda.time.DateTime Tag1 = parse(year+"2015-01-01") --> Kann das auchh als DateTime umgewandelt/ formatiert werden?

      Jens
      Zuletzt geändert von JGLNN; 03.01.2016, 22:44.

      Kommentar


        #4
        Hallo Jörg,

        ich habe es jetzt gelöst. Ich habe inen Teil aus dem Holiday script verwendet und die Symbole ( blaue oder gelbe Tonne) werden in Abhängigkeitb der Kalenderwoche angezeigt.
        Ich habe aber noch eine Frage zu dem BASH script. Wie kann ich den Befeh " cut /dev/ttyUSBo I xxd -p -l 204 einer Variable zuweisen? Möche die Daten eines Strommeters auslesen aber muss es separat umsetzen.

        Jens

        Items
        //Müllentsorgung
        String wochenart "Woche [%s]"
        String Abholung "Nächste Abholung: [%s]" //Abholung gelbe und blaue Tonne
        String Abholung1 "Nächste Abholung: [%s]" //Abholung schwarze Tonne
        Number Kalenderwoche "aktuelle Kalenderwoche [%.1f ]" (Test)
        Number TerminTonne "Termin Tonne [%.1f ]"

        Script
        // Kalenderwoche Anfang
        var int year = now.getYear
        var int year1= year-1
        //var int day3 =parse("2016-01-11").getDayOfYear + parse("2015-12-31").getDayOfWeek
        var int day3= now.getDayOfYear+ parse(year1+"-12-31").getDayOfWeek
        // day3=letzter tag des Vorjahres
        var int day1=parse(year+"-01-01").getDayOfWeek
        // day3=ester Tag des Jahres
        if(day1<=4.0){
        day1=0
        }
        else if(day1>=1.0){
        day1=52
        }
        var os=day1*1.0
        var calc1=day3/7.0
        calc1=(Math::ceil(calc1))
        var calc2=calc1+ os
        if(calc2>=54){
        calc2=calc2-53
        }

        var int mt =0
        postUpdate(Kalenderwoche,calc2)

        var calc3=calc2
        var String wotag = null
        if (calc3== 1.0 ){
        wotag = "ungerade 1.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 3.0 ){
        wotag = "ungerade 3.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 5.0 ){
        wotag = "ungerade 5.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 7.0 ){
        wotag = "ungerade 7.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 9.0 ){
        wotag = "ungerade 9.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 11.0 ){
        wotag = "ungerade 11.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 13.0 ){
        wotag = "ungerade 13.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 15.0 ){
        wotag = "ungerade 15.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 17.0 ){
        wotag = "ungerade 17.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 19.0 ){
        wotag = "ungerade 19.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 21.0 ){
        wotag = "ungerade 21.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 23.0 ){
        wotag = "ungerade 23.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 25.0 ){
        wotag = "ungerade 25.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 27.0 ){
        wotag = "ungerade 27.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 29.0 ){
        wotag = "ungerade 29.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 31.0 ){
        wotag = "ungerade 31.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 33.0 ){
        wotag = "ungerade 33.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 35.0 ){
        wotag = "ungerade 35.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 37.0 ){
        wotag = "ungerade 37.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 39.0 ){
        wotag = "ungerade 39.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 41.0 ){
        wotag = "ungerade 41.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 43.0 ){
        wotag = "ungerade 43.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 45.0 ){
        wotag = "ungerade 45.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 47.0 ){
        wotag = "ungerade 47.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 49.0 ){
        wotag = "ungerade 49.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 51.0 ){
        wotag = "ungerade 51.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 53.0 ){
        wotag = "ungerade 53.KW" // deineZahl ist gerade
        mt=1
        }
        else if (calc3== 2.0 ){
        wotag = "gerade 2.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 4.0 ){
        wotag = "gerade 4.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 6.0 ){
        wotag = "gerade 6.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 8.0 ){
        wotag = "gerade 8.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 10.0 ){
        wotag = "gerade 10" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 12.0 ){
        wotag = "gerade 12.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 14.0 ){
        wotag = "gerade 14.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 16.0 ){
        wotag = "gerade 16.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 18.0 ){
        wotag = "gerade 18.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 20.0 ){
        wotag = "gerade 20.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 22.0 ){
        wotag = "gerade 22.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 24.0 ){
        wotag = "gerade 24.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 26.0 ){
        wotag = "gerade 26.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 28.0 ){
        wotag = "gerade 28.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 30.0 ){
        wotag = "gerade 30.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 32.0 ){
        wotag = "gerade 32.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 34.0 ){
        wotag = "gerade 34.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 36.0 ){
        wotag = "gerade 36.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 38.0 ){
        wotag = "gerade 38.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 40.0 ){
        wotag = "gerade 40.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 42.0 ){
        wotag = "gerade 42.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 44.0 ){
        wotag = "gerade 44.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 46.0 ){
        wotag = "gerade 46.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 48.0 ){
        wotag = "gerade 48.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 50.0 ){
        wotag = "gerade 50.KW" // deineZahl ist gerade
        mt=2
        }
        else if (calc3== 52.0 ){
        wotag = "gerade 52.KW" // deineZahl ist gerade
        mt=2
        }

        var int Tag=now.getDayOfWeek
        var org.joda.time.DateTime heute = now
        var org.joda.time.DateTime heute1 = now
        var String aktWoTag = "Mittwoch"
        var String aktWoTag1 = "Dienstag"
        if (Tag== 3.0 ){
        aktWoTag = "Heute "+now.getDayOfMonth+"."+now.getMonthOfYear+"."+now .getYear // aktueller Tag ist Mittwoch
        heute1=heute1.plusMinutes(8640)
        aktWoTag1 = "am: "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Mittwoch
        }
        else if (Tag== 2.0 ){
        heute=heute.plusMinutes(1440)
        aktWoTag = "Morgen "+heute.getDayOfMonth+"."+heute.getMonthOfYear+"." +heute.getYear // aktueller Tag ist Dienstag
        aktWoTag1 = "Heute "+now.getDayOfMonth+"."+now.getMonthOfYear+"."+now .getYear //
        }
        else if (Tag== 1.0 ){
        heute=heute.plusMinutes(2880)
        aktWoTag = "Übermorgen "+heute.getDayOfMonth+"."+heute.getMonthOfYear+"." +heute.getYear // aktueller Tag ist Montag
        heute1=heute1.plusMinutes(1440)
        aktWoTag1 = "Morgen "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Dienstag
        }
        else if (Tag== 4.0 ){
        aktWoTag = "in 2 Wochen" // aktueller Tag nach Mittwoch
        heute1=heute1.plusMinutes(7200)
        aktWoTag1 = "am: "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Dienstag
        }
        else if (Tag== 5.0 ){
        aktWoTag = "in 2 Wochen" // aktueller Tag nach Mittwoch
        heute1=heute1.plusMinutes(5760)
        aktWoTag1 = "am: "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Dienstag
        }
        else if (Tag== 6.0 ){
        aktWoTag = "in 2 Wochen" // aktueller Tag nach Mittwoch
        heute1=heute1.plusMinutes(4320)
        aktWoTag1 = "Übermorgen "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Dienstag
        }
        else if (Tag== 7.0 ){
        aktWoTag = "in 2 Wochen" // aktueller Tag nach Mittwoch
        heute1=heute1.plusMinutes(2880)
        aktWoTag1 = "Morgen "+heute1.getDayOfMonth+"."+heute1.getMonthOfYear+" ."+heute1.getYear // aktueller Tag ist Dienstag
        }
        postUpdate(Abholung,aktWoTag)
        postUpdate(Abholung1,aktWoTag1)
        postUpdate(TerminTonne,mt)
        postUpdate(wochenart,wotag)

        //Berechnung Kalenderwoche Ende

        Rules
        rule "Kalenderwoche"
        when
        Time cron "0 0 0 * * ?" or
        System started
        then
        callScript("Kalenderwoche")
        end

        Sitemap
        Text item=Abholung visibility=[TerminTonne==1] icon="muell_gelb" labelcolor=["orange"] valuecolor=["#ffff00"] // nächste Abholung
        Text item=Abholung visibility=[TerminTonne==2] icon="muell_blau" labelcolor=["blue"] valuecolor=["#000080"] // nächste Abholung
        Text item=Abholung1 icon="muell_sw" labelcolor=["black"] valuecolor=["#000000"] // nächste Abholung
        Zuletzt geändert von JGLNN; 01.02.2016, 22:27.

        Kommentar

        Lädt...
        X