Danke für eure Rückmeldungen. Somit warte ich auf das nächste Release bei dem dieses Thema dann vielleicht Geschichte sein wird. Ich hoffe es ist demnächst soweit. Bin schon grspannt drauf ohne drängeln zu wollen oder gar nach einen Releasetermin zu fragen. ;-)
Mfg
Markus
Ankündigung
Einklappen
Keine Ankündigung bisher.
Zeitdifferenzen und Abfrageobjekte für SQLite
Einklappen
X
-
Hi,
ja ich denke auch es liegt am packen. Während dieser Zeit ist die DB ziemlich beschäftigt und antwortet evtl. nicht schnell genug.
Ich arbeite in dem Bereich aber auch noch an der DB.
Bis bald
Marcus
Einen Kommentar schreiben:
-
Hallo Markus,
habe ich auch. In Develop häufig. Aus meiner Sicht geht dort etwas während dem Kompacting der Datenbank, die normalerweise in diesem Zeitraum läuft durcheinander. Ich weiß nicht, ob bei Marcus das noch ein Thema ist, denn trotz aller Updates war es bei mir noch drin.
Weiterer Hinweis, dass es dort liegen muß:
In meiner Variante habe ich alles zum Comapcting herausgeworfen, da ich auf einen Virtuellen Maschine mit fast beliebig Speicher arbeite. Dort speichere ich einfach alles. In dieser Konfiguration ist der Fehler komplett weg !
Michel
@Marcus: sind dort noch Themen offen ? Aus meiner Sicht kann es auch daran liegen, dass nach dem Compacting in den Zeitabschnitten keine Werte mehr vorliegen, und daher auch nichts geliefert wird, was dann auch keinen Typ mehr hat. Das wäre dann ein konzeptionelles Thema, was eher grundsätzlicher Natur wäre.
Einen Kommentar schreiben:
-
Hi,
Ich verwende diese Zeitdifferenzberechnungen in meinen Items zur Stromverbrauchsstatistik.
Grundsätzlich funktiert es auch so und ich bekomme auch Ergebnisse geliefert, jedoch bekomme ich täglich folgende Einträge in mein Log.Code:[EZ] [[E_Plus]] type = num knx_dpt = 13 knx_cache = 9/0/11 visu_acl = rw sqlite = yes cache = yes [[[Heute]]] type = num eval = sh.EZ.E_Plus() - sh.EZ.E_Plus.db('min', sh.minute.since.midnight.dbstr()) eval_trigger = EZ.E_Plus sqlite = yes cache = yes [[[Gestern]]] type = num eval = sh.EZ.E_Plus.db('min', sh.minute.since.midnight.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 1440) + 'i', sh.minute.since.midnight.dbstr()) eval_trigger = EZ.E_Plus crontab = 1 0 * * = 1 sqlite = yes cache = yes [[[Vorgestern]]] type = num eval = sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 1440) + 'i', sh.minute.since.midnight.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 2880) + 'i', str(sh.minute.since.midnight() + 1440) + 'i') eval_trigger = EZ.E_Plus crontab = 1 0 * * = 1 sqlite = yes cache = yes [[[Woche]]] type = num eval = sh.EZ.E_Plus() - sh.EZ.E_Plus.db('min', sh.minute.since.week.dbstr()) eval_trigger = EZ.E_Plus sqlite = yes cache = yes [[[Vorwoche]]] type = num eval = sh.EZ.E_Plus.db('min', sh.minute.since.week.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.week() + 10080) + 'i', sh.minute.since.week.dbstr()) eval_trigger = EZ.E_Plus crontab = 1 0 * 6 = 1 sqlite = yes cache = yes [[[Monat]]] type = num eval = sh.EZ.E_Plus() - sh.EZ.E_Plus.db('min', str(sh.hour.since.month()) + 'h') eval_trigger = EZ.E_Plus sqlite = yes cache = yes [[[Vormonat]]] type = num eval = sh.EZ.E_Plus.db('min', str(sh.hour.since.month()) + 'h') - sh.EZ.E_Plus.db('min', str(sh.hour.since.month() + 730) + 'h', str(sh.hour.since.month()) + 'h') eval_trigger = EZ.E_Plus crontab = 1 0 1 * = 1 sqlite = yes cache = yes
Komischerweise immer nur Nachts zw. 3:02 und 3:13.Code:2015-03-29 03:02:42 WARNING EZ.E_Plus.Gestern Item EZ.E_Plus.Gestern: problem evaluating sh.EZ.E_Plus.db('min', sh.minute.since.midnight.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 1440) + 'i', sh.minute.since.midnight.dbstr()): unsupported operand type(s) for -: 'float' and 'NoneType' 2015-03-29 03:02:42 WARNING EZ.E_Plus.Vorgestern Item EZ.E_Plus.Vorgestern: problem evaluating sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 1440) + 'i', sh.minute.since.midnight.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.midnight() + 2880) + 'i', str(sh.minute.since.midnight() + 1440) + 'i'): unsupported operand type(s) for -: 'NoneType' and 'NoneType' 2015-03-29 03:02:42 WARNING EZ.E_Plus.Vorwoche Item EZ.E_Plus.Vorwoche: problem evaluating sh.EZ.E_Plus.db('min', sh.minute.since.week.dbstr()) - sh.EZ.E_Plus.db('min', str(sh.minute.since.week() + 10080) + 'i', sh.minute.since.week.dbstr()): unsupported operand type(s) for -: 'float' and 'NoneType' 2015-03-29 03:02:42 WARNING EZ.E_Plus.Vormonat Item EZ.E_Plus.Vormonat: problem evaluating sh.EZ.E_Plus.db('min', str(sh.hour.since.month()) + 'h') - sh.EZ.E_Plus.db('min', str(sh.hour.since.month() + 730) + 'h', str(sh.hour.since.month()) + 'h'): unsupported operand type(s) for -: 'float' and 'NoneType'
Hat jemand eine Idee woran das liegen könnte?
Ich verwende folgenden Engeriezähler <<klick>>
mfg
Markus
Angehängte Dateien
Einen Kommentar schreiben:
-
Vielen Dank. Nun ist die Ausgabe wieder korrekt.Zitat von JuMi2006 Beitrag anzeigenDer Tag wurde doppelt abgezogen. Ich fürchte einige kleine Bugs werden wir noch finden. Probier mal dies hier:
Code:#/logics/zeit.py #!/usr/bin/env python sh_now = sh.now() debug = False # Funktionen #def leap_year(year): # if (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): # return True # else: # return False def days_of_month(month, year): if month in [1, 3, 5, 7, 8, 10, 12]: days = 31 elif month in [4, 6, 9, 11]: days = 30 elif (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): #Schaltjahr days = 29 else: days = 28 return days def days_of_year(year): period_end = datetime.datetime(year,12,31) days_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(days_of_year) def day_of_year(year,month,day): period_end = datetime.datetime(year,month,day) day_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(day_of_year) if debug == True: print("RUNNING LOGIC OF TIME - REMOVE AFTER DEBUG") print(sh_now.hour) #Stunde print(sh_now.minute) #Minute print(sh_now.second) #Sekunde print(sh_now.day) #Tag print(sh_now.month) #Monat print(sh_now.isoweekday()) #Wochentag print(sh.now().isocalendar()[1]) #Kalenderwoche # Sekunde/Minute sh.second.since.minute(sh_now.second) sh.second.until.minute(60 - sh_now.second - 1) # Minute/Stunde sh.minute.since.hour(sh_now.minute) sh.minute.until.hour(60 - sh_now.minute - 1) # Stunde/Tag sh.hour.since.midnight(sh_now.hour) sh.hour.until.midnight(24 - sh_now.hour - 1) # Tag/Woche sh.day.since.week(sh_now.isoweekday()) sh.day.until.week(7 - sh_now.isoweekday()) # Stunde/Woche sh.hour.since.week(sh.hour.since.midnight() + (24 * (sh.day.since.week() - 1))) sh.hour.until.week(sh.hour.until.midnight() + (24 * sh.day.until.week())) # Kalenderwoche/Jahr sh.week.since.year(sh.now().isocalendar()[1]) # Monat/Jahr sh.month.since.year(sh_now.month) sh.month.until.year(12-sh_now.month) # Sekunde/Stunde sh.second.since.hour(sh.second.since.minute() + (60 * sh.minute.since.hour())) sh.second.until.hour(sh.second.until.minute() + (60 * sh.minute.until.hour())) # Sekunde/Tag sh.second.since.midnight(sh.second.since.minute() + (3600 * sh.hour.since.midnight())) sh.second.until.midnight(sh.second.until.minute() + (3600 * sh.hour.until.midnight())) # Minute/Tag sh.minute.since.midnight(sh.minute.since.hour() + (60 * sh.hour.since.midnight())) sh.minute.until.midnight(sh.minute.until.hour() + (60 * sh.hour.until.midnight())) # Minute/Woche sh.minute.since.week(sh.minute.since.hour() + (60 * sh.hour.since.week())) sh.minute.until.week(sh.minute.until.hour() + (60 * sh.hour.until.week())) # Sekunde/Woche sh.second.since.week(sh.second.since.minute() + (60 * sh.minute.since.week())) sh.second.until.week(sh.second.until.minute() + (60 * sh.minute.until.week())) # Tage/Monat sh.day.since.month(sh_now.day - 1) sh.day.until.month(days_of_month(sh_now.month,sh_now.year) - sh.day.since.month() - 1) # Tage/Jahr sh.day.since.year(day_of_year(sh_now.year,sh_now.month,sh_now.day) - 1) sh.day.until.year(days_of_year(sh_now.year) - sh.day.since.year() - 1) # Stunde/Monat sh.hour.since.month((24 * sh.day.since.month()) + sh.hour.since.midnight()) sh.hour.until.month((24 * days_of_month(sh_now.month,sh_now.year)) - sh.hour.since.month() - 1) # Stunde/Jahr sh.hour.since.year((24 * sh.day.since.year()) + sh.hour.since.midnight()) sh.hour.until.year((24 * days_of_year(sh_now.year)) - sh.hour.since.year() - 1) # Minute/Monat sh.minute.since.month((60 * sh.hour.since.month()) + sh.minute.since.hour()) sh.minute.until.month(sh.minute.since.month() - (60 * sh.hour.until.month()) - 1) # Minute/Jahr sh.minute.since.year((60 * sh.hour.since.year()) + sh.minute.since.hour()) sh.minute.until.year((60 * sh.hour.until.year()) + sh.minute.until.hour()) # Sekunde/Monat sh.second.since.month((60 * sh.minute.since.month()) + sh.second.since.minute()) sh.second.until.month((60 * sh.minute.until.month()) + sh.second.until.minute()) # Sekunde/Jahr sh.second.since.year((60 * sh.minute.since.year()) + sh.second.since.minute()) sh.second.until.year((60 * sh.minute.until.year()) + sh.second.until.minute())
Einen Kommentar schreiben:
-
Der Tag wurde doppelt abgezogen. Ich fürchte einige kleine Bugs werden wir noch finden. Probier mal dies hier:
Code:#/logics/zeit.py #!/usr/bin/env python sh_now = sh.now() debug = False # Funktionen #def leap_year(year): # if (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): # return True # else: # return False def days_of_month(month, year): if month in [1, 3, 5, 7, 8, 10, 12]: days = 31 elif month in [4, 6, 9, 11]: days = 30 elif (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): #Schaltjahr days = 29 else: days = 28 return days def days_of_year(year): period_end = datetime.datetime(year,12,31) days_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(days_of_year) def day_of_year(year,month,day): period_end = datetime.datetime(year,month,day) day_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(day_of_year) if debug == True: print("RUNNING LOGIC OF TIME - REMOVE AFTER DEBUG") print(sh_now.hour) #Stunde print(sh_now.minute) #Minute print(sh_now.second) #Sekunde print(sh_now.day) #Tag print(sh_now.month) #Monat print(sh_now.isoweekday()) #Wochentag print(sh.now().isocalendar()[1]) #Kalenderwoche # Sekunde/Minute sh.second.since.minute(sh_now.second) sh.second.until.minute(60 - sh_now.second - 1) # Minute/Stunde sh.minute.since.hour(sh_now.minute) sh.minute.until.hour(60 - sh_now.minute - 1) # Stunde/Tag sh.hour.since.midnight(sh_now.hour) sh.hour.until.midnight(24 - sh_now.hour - 1) # Tag/Woche sh.day.since.week(sh_now.isoweekday()) sh.day.until.week(7 - sh_now.isoweekday()) # Stunde/Woche sh.hour.since.week(sh.hour.since.midnight() + (24 * (sh.day.since.week() - 1))) sh.hour.until.week(sh.hour.until.midnight() + (24 * sh.day.until.week())) # Kalenderwoche/Jahr sh.week.since.year(sh.now().isocalendar()[1]) # Monat/Jahr sh.month.since.year(sh_now.month) sh.month.until.year(12-sh_now.month) # Sekunde/Stunde sh.second.since.hour(sh.second.since.minute() + (60 * sh.minute.since.hour())) sh.second.until.hour(sh.second.until.minute() + (60 * sh.minute.until.hour())) # Sekunde/Tag sh.second.since.midnight(sh.second.since.minute() + (3600 * sh.hour.since.midnight())) sh.second.until.midnight(sh.second.until.minute() + (3600 * sh.hour.until.midnight())) # Minute/Tag sh.minute.since.midnight(sh.minute.since.hour() + (60 * sh.hour.since.midnight())) sh.minute.until.midnight(sh.minute.until.hour() + (60 * sh.hour.until.midnight())) # Minute/Woche sh.minute.since.week(sh.minute.since.hour() + (60 * sh.hour.since.week())) sh.minute.until.week(sh.minute.until.hour() + (60 * sh.hour.until.week())) # Sekunde/Woche sh.second.since.week(sh.second.since.minute() + (60 * sh.minute.since.week())) sh.second.until.week(sh.second.until.minute() + (60 * sh.minute.until.week())) # Tage/Monat sh.day.since.month(sh_now.day - 1) sh.day.until.month(days_of_month(sh_now.month,sh_now.year) - sh.day.since.month() - 1) # Tage/Jahr sh.day.since.year(day_of_year(sh_now.year,sh_now.month,sh_now.day) - 1) sh.day.until.year(days_of_year(sh_now.year) - sh.day.since.year() - 1) # Stunde/Monat sh.hour.since.month((24 * sh.day.since.month()) + sh.hour.since.midnight()) sh.hour.until.month((24 * days_of_month(sh_now.month,sh_now.year)) - sh.hour.since.month() - 1) # Stunde/Jahr sh.hour.since.year((24 * sh.day.since.year()) + sh.hour.since.midnight()) sh.hour.until.year((24 * days_of_year(sh_now.year)) - sh.hour.since.year() - 1) # Minute/Monat sh.minute.since.month((60 * sh.hour.since.month()) + sh.minute.since.hour()) sh.minute.until.month(sh.minute.since.month() - (60 * sh.hour.until.month()) - 1) # Minute/Jahr sh.minute.since.year((60 * sh.hour.since.year()) + sh.minute.since.hour()) sh.minute.until.year((60 * sh.hour.until.year()) + sh.minute.until.hour()) # Sekunde/Monat sh.second.since.month((60 * sh.minute.since.month()) + sh.second.since.minute()) sh.second.until.month((60 * sh.minute.until.month()) + sh.second.until.minute()) # Sekunde/Jahr sh.second.since.year((60 * sh.minute.since.year()) + sh.second.since.minute()) sh.second.until.year((60 * sh.minute.until.year()) + sh.second.until.minute())Zuletzt geändert von JuMi2006; 09.03.2015, 20:55.
Einen Kommentar schreiben:
-
Meine Ausgabe liefert fehlerhafte Werte im Bezug auf den Monat.Zitat von JuMi2006 Beitrag anzeigenIch verstehe das Problem immer noch nicht, hatte aber keine Lust weiter zu suchen.
Code:#/logics/zeit.py #!/usr/bin/env python sh_now = sh.now() debug = False # Funktionen def days_of_month(month, year): if month in [1, 3, 5, 7, 8, 10, 12]: days = 31 elif month in [4, 6, 9, 11]: days = 30 elif (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): #Schaltjahr days = 29 else: days = 28 return days def days_of_year(year): period_end = datetime.datetime(year,12,31) days_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(days_of_year) def day_of_year(year,month,day): period_end = datetime.datetime(year,month,day) day_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(day_of_year) if debug == True: print("RUNNING LOGIC OF TIME - REMOVE AFTER DEBUG") print(sh_now.hour) #Stunde print(sh_now.minute) #Minute print(sh_now.second) #Sekunde print(sh_now.day) #Tag print(sh_now.month) #Monat print(sh_now.isoweekday()) #Wochentag print(sh.now().isocalendar()[1]) #Kalenderwoche # Sekunde/Minute sh.second.since.minute(sh_now.second) sh.second.until.minute(60 - sh_now.second - 1) # Minute/Stunde sh.minute.since.hour(sh_now.minute) sh.minute.until.hour(60 - sh_now.minute - 1) # Stunde/Tag sh.hour.since.midnight(sh_now.hour) sh.hour.until.midnight(24 - sh_now.hour - 1) # Tag/Woche sh.day.since.week(sh_now.isoweekday()) sh.day.until.week(7 - sh_now.isoweekday()) # Stunde/Woche sh.hour.since.week(sh.hour.since.midnight() + (24 * (sh.day.since.week() - 1))) sh.hour.until.week(sh.hour.until.midnight() + (24 * sh.day.until.week())) # Kalenderwoche/Jahr sh.week.since.year(sh.now().isocalendar()[1]) # Monat/Jahr sh.month.since.year(sh_now.month) sh.month.until.year(12-sh_now.month) # Sekunde/Stunde sh.second.since.hour(sh.second.since.minute() + (60 * sh.minute.since.hour())) sh.second.until.hour(sh.second.until.minute() + (60 * sh.minute.until.hour())) # Sekunde/Tag sh.second.since.midnight(sh.second.since.minute() + (3600 * sh.hour.since.midnight())) sh.second.until.midnight(sh.second.until.minute() + (3600 * sh.hour.until.midnight())) # Minute/Tag sh.minute.since.midnight(sh.minute.since.hour() + (60 * sh.hour.since.midnight())) sh.minute.until.midnight(sh.minute.until.hour() + (60 * sh.hour.until.midnight())) # Minute/Woche sh.minute.since.week(sh.minute.since.hour() + (60 * sh.hour.since.week())) sh.minute.until.week(sh.minute.until.hour() + (60 * sh.hour.until.week())) # Sekunde/Woche sh.second.since.week(sh.second.since.minute() + (60 * sh.minute.since.week())) sh.second.until.week(sh.second.until.minute() + (60 * sh.minute.until.week())) # Tage/Monat sh.day.since.month(sh_now.day - 1) sh.day.until.month(days_of_month(sh_now.month,sh_now.year) - sh.day.since.month() - 1) # Tage/Jahr sh.day.since.year(day_of_year(sh_now.year,sh_now.month,sh_now.day) - 1) sh.day.until.year(days_of_year(sh_now.year) - sh.day.since.year() - 1) # Stunde/Monat sh.hour.since.month((24 * (sh.day.since.month() - 1)) + sh.hour.since.midnight()) sh.hour.until.month((24 * days_of_month(sh_now.month,sh_now.year)) - sh.hour.since.month() - 1) # Stunde/Jahr sh.hour.since.year((24 * (sh.day.since.year() -1)) + sh.hour.since.midnight()) sh.hour.until.year((24 * days_of_year(sh_now.year)) - sh.hour.since.year() - 1) # Minute/Monat sh.minute.since.month((60 * sh.hour.since.month()) + sh.minute.since.hour()) sh.minute.until.month(sh.minute.since.month() - (60 * sh.hour.until.month()) - 1) # Minute/Jahr sh.minute.since.year((60 * sh.hour.since.year()) + sh.minute.since.hour()) sh.minute.until.year((60 * sh.hour.until.year()) + sh.minute.until.hour()) # Sekunde/Monat sh.second.since.month((60 * sh.minute.since.month()) + sh.second.since.minute()) sh.second.until.month((60 * sh.minute.until.month()) + sh.second.until.minute()) # Sekunde/Jahr sh.second.since.year((60 * sh.minute.since.year()) + sh.second.since.minute()) sh.second.until.year((60 * sh.minute.until.year()) + sh.second.until.minute())
Es ist 20:30 am 09.03. somit sollte doch hour.since.month 8x24 + 20 = 212h ergeben. Ich bekomme aber 188h ausgegeben. Also genau 24h zu wenig.Code:> ls hour.since Items: ====== hour.since hour.since.midnight = 20 hour.since.midnight.dbstr = 20h hour.since.week = 20 hour.since.week.dbstr = 20h hour.since.month = 188 hour.since.month.dbstr = 188h hour.since.year = 1604 hour.since.year.dbstr = 1604h
Liegt es am Vormonat Februar? Hat dieses Problem sonst niemand bzw. gibt es eine Lösung dafür?
mfg
Markus
Einen Kommentar schreiben:
-
Weil die Syntax der smartvisu dies einfach nicht zulässt. Das wäre eine Frage für das smartvisu Forum.
Einen Kommentar schreiben:
-
Hallo,
mal ne doofe frage, warum funktioniert diese Art der Angabe des zeitpunktes nicht bei nem Plot ?
das man dann als Zeitangabe schreiben kann 'day.since.month.dbstr()'
wenn man nur den aktuellen Monat und nicht 30 Tage anzeigen lassen möchte ?
Einen Kommentar schreiben:
-
Grundsätzlich richtig, jedoch nur wenn du einen zeitraum abfragen willst der nicht bis zur aktuellen zeit laufen soll. Wenn du den Max Wert der aktuellen woche abfragen willst, dann reicht die Angabe der Startwertes.Zitat von Bonze Beitrag anzeigenirgendwie bekomme ich immer die Fehlemeldung "String out of Range" egal was ich als Zeitraum angebe?
der erste wert gibt den startwert, der zweite wert den zeitraum an ?Code:pellets.fuellstand.woche Item pellets.fuellstand.woche: problem evaluating sh.pellets.fuellstand.db('max', sh.day.since.week.dbstr(),sh.day.since.week.dbstr()) - sh.pellets.fuellstand(): string index out of range
Hoffe soweit klar.
Einen Kommentar schreiben:
-
irgendwie bekomme ich immer die Fehlemeldung "String out of Range" egal was ich als Zeitraum angebe?
der erste wert gibt den startwert, der zweite wert den zeitraum an ?Code:pellets.fuellstand.woche Item pellets.fuellstand.woche: problem evaluating sh.pellets.fuellstand.db('max', sh.day.since.week.dbstr(),sh.day.since.week.dbstr()) - sh.pellets.fuellstand(): string index out of range
Einen Kommentar schreiben:
-
Ich verstehe das Problem immer noch nicht, hatte aber keine Lust weiter zu suchen.
Code:#/logics/zeit.py #!/usr/bin/env python sh_now = sh.now() debug = False # Funktionen def days_of_month(month, year): if month in [1, 3, 5, 7, 8, 10, 12]: days = 31 elif month in [4, 6, 9, 11]: days = 30 elif (year % 400 == 0) or ((year % 4 == 0) and not (year % 100 == 0)): #Schaltjahr days = 29 else: days = 28 return days def days_of_year(year): period_end = datetime.datetime(year,12,31) days_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(days_of_year) def day_of_year(year,month,day): period_end = datetime.datetime(year,month,day) day_of_year = (period_end - datetime.datetime(period_end.year, 1, 1)).days + 1 return(day_of_year) if debug == True: print("RUNNING LOGIC OF TIME - REMOVE AFTER DEBUG") print(sh_now.hour) #Stunde print(sh_now.minute) #Minute print(sh_now.second) #Sekunde print(sh_now.day) #Tag print(sh_now.month) #Monat print(sh_now.isoweekday()) #Wochentag print(sh.now().isocalendar()[1]) #Kalenderwoche # Sekunde/Minute sh.second.since.minute(sh_now.second) sh.second.until.minute(60 - sh_now.second - 1) # Minute/Stunde sh.minute.since.hour(sh_now.minute) sh.minute.until.hour(60 - sh_now.minute - 1) # Stunde/Tag sh.hour.since.midnight(sh_now.hour) sh.hour.until.midnight(24 - sh_now.hour - 1) # Tag/Woche sh.day.since.week(sh_now.isoweekday()) sh.day.until.week(7 - sh_now.isoweekday()) # Stunde/Woche sh.hour.since.week(sh.hour.since.midnight() + (24 * (sh.day.since.week() - 1))) sh.hour.until.week(sh.hour.until.midnight() + (24 * sh.day.until.week())) # Kalenderwoche/Jahr sh.week.since.year(sh.now().isocalendar()[1]) # Monat/Jahr sh.month.since.year(sh_now.month) sh.month.until.year(12-sh_now.month) # Sekunde/Stunde sh.second.since.hour(sh.second.since.minute() + (60 * sh.minute.since.hour())) sh.second.until.hour(sh.second.until.minute() + (60 * sh.minute.until.hour())) # Sekunde/Tag sh.second.since.midnight(sh.second.since.minute() + (3600 * sh.hour.since.midnight())) sh.second.until.midnight(sh.second.until.minute() + (3600 * sh.hour.until.midnight())) # Minute/Tag sh.minute.since.midnight(sh.minute.since.hour() + (60 * sh.hour.since.midnight())) sh.minute.until.midnight(sh.minute.until.hour() + (60 * sh.hour.until.midnight())) # Minute/Woche sh.minute.since.week(sh.minute.since.hour() + (60 * sh.hour.since.week())) sh.minute.until.week(sh.minute.until.hour() + (60 * sh.hour.until.week())) # Sekunde/Woche sh.second.since.week(sh.second.since.minute() + (60 * sh.minute.since.week())) sh.second.until.week(sh.second.until.minute() + (60 * sh.minute.until.week())) # Tage/Monat sh.day.since.month(sh_now.day - 1) sh.day.until.month(days_of_month(sh_now.month,sh_now.year) - sh.day.since.month() - 1) # Tage/Jahr sh.day.since.year(day_of_year(sh_now.year,sh_now.month,sh_now.day) - 1) sh.day.until.year(days_of_year(sh_now.year) - sh.day.since.year() - 1) # Stunde/Monat sh.hour.since.month((24 * (sh.day.since.month() - 1)) + sh.hour.since.midnight()) sh.hour.until.month((24 * days_of_month(sh_now.month,sh_now.year)) - sh.hour.since.month() - 1) # Stunde/Jahr sh.hour.since.year((24 * (sh.day.since.year() -1)) + sh.hour.since.midnight()) sh.hour.until.year((24 * days_of_year(sh_now.year)) - sh.hour.since.year() - 1) # Minute/Monat sh.minute.since.month((60 * sh.hour.since.month()) + sh.minute.since.hour()) sh.minute.until.month(sh.minute.since.month() - (60 * sh.hour.until.month()) - 1) # Minute/Jahr sh.minute.since.year((60 * sh.hour.since.year()) + sh.minute.since.hour()) sh.minute.until.year((60 * sh.hour.until.year()) + sh.minute.until.hour()) # Sekunde/Monat sh.second.since.month((60 * sh.minute.since.month()) + sh.second.since.minute()) sh.second.until.month((60 * sh.minute.until.month()) + sh.second.until.minute()) # Sekunde/Jahr sh.second.since.year((60 * sh.minute.since.year()) + sh.second.since.minute()) sh.second.until.year((60 * sh.minute.until.year()) + sh.second.until.minute())
Einen Kommentar schreiben:
-
danke für die schnelle Rückmeldung,
mach dir keinen Stress ist nicht dringend!
Christian
Einen Kommentar schreiben:


Einen Kommentar schreiben: