FHEM Forum

FHEM => Sonstiges => Thema gestartet von: betateilchen am 05 Februar 2019, 08:55:04

Titel: [patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: betateilchen am 05 Februar 2019, 08:55:04
Hallo Rudi,

da man beim Rechnen mit Zeiten bestimmte Multiplikatoren immer wieder benötigt, wäre es schön, wenn diese in FHEM als Konstanten zur Verfügung stünden. In Programmcode finde ich das Arbeiten mit Zahlenwerten immer unübersichtlich (von Speichereffizienz ganz abgesehen)

Deshalb schlage ich folgenden Patch vor.


Index: fhem.pl
===================================================================
--- fhem.pl     (revision 18475)
+++ fhem.pl     (working copy)
@@ -270,6 +270,11 @@
use vars qw(@intAtA);           # Internal timer array
use vars qw(@structChangeHist); # Contains the last 10 structural changes

+use constant {
+  DAYSECONDS  => 86400,
+  HOURSECONDS =>  3600,
+  MINSECONDS  =>    60
+};

$selectTimestamp = gettimeofday();
$cvsid = '$Id$';
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: CoolTux am 05 Februar 2019, 09:00:26
Finde ich sehr gut.
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: justme1968 am 05 Februar 2019, 09:54:42
ich würde MINUTESECONDS statt MINSECONDS vorschlagen.

ist zwar etwas länger aber nicht mit minimum verwechselbar und die anderen beiden sind ja auch ausgeschrieben.
falls das zu lang ist lieber SECONDS bei allen dreien zu SEC verkürzen.
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: betateilchen am 05 Februar 2019, 10:07:18
Zitat von: justme1968 am 05 Februar 2019, 09:54:42
ich würde MINUTESECONDS statt MINSECONDS vorschlagen.

nix dagegen, die Länge des Namens ist mir ziemlich egal, solange sie unter 255 Zeichen bleibt  8)
Titel: [patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: justme1968 am 05 Februar 2019, 10:08:44
das bekommen wir hin :)
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: Christoph Morrison am 05 Februar 2019, 11:01:10
Darf ich anmerken, dass Tage nicht immer (https://de.wikipedia.org/wiki/Schaltsekunde) exakt 86400 Sekunden lang sind?
Wenn man damit leben kann, bietet Time::Seconds (https://perldoc.perl.org/Time/Seconds.html) (Kernmodul) auch bereits entsprechende Konstanten.
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: rudolfkoenig am 05 Februar 2019, 11:37:38
Habs eingecheckt.

ZitatDarf ich anmerken, dass Tage nicht immer (https://de.wikipedia.org/wiki/Schaltsekunde) exakt 86400 Sekunden lang sind?
Aus Sicht von FHEM ist das aber egal, die Bibliotheken ignorieren die Schaltsekunde, wenn es um das Konvertieren der Zeit seit 1970 geht.
Titel: Antw:[patch] fhem.pl - Konstanten für das Rechnen mit Zeiten
Beitrag von: betateilchen am 05 Februar 2019, 11:49:34
Zitat von: rudolfkoenig am 05 Februar 2019, 11:37:38
Habs eingecheckt.

Danke.