Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Zeit auswerten Kategorie: Programmierung (von André H. - 2.01.2004 0:17)
Als Antwort auf Zeit auswerten von TN - 1.01.2004 20:04

Hallo TN,

> ich möchte die Uhrzeit auslesen und damit Aktionen
> auslösen oder unterbinden. Anzeigen lasse ich die Zeit so:
> ...
> kann ich jetzt schreiben:
> h=system.hour();
> um mit "h" als int arbeiten zu können? Oder mu� ich mit dem String arbeiten?

Ich verstehe Deine Frage nicht ganz.
Um Zeitvergleiche durchzuführen, mu� man i.d.R. Zahlen vergleichen.
Mit Strings ist das nicht möglich.

Wenn Du z.B. eine Schaltuhr aufbauen möchtest, ist es ratsam ein
eigenes Zeitformat aufzubauen.
Das einfachste wäre folgendes:
int time;
...
time=system.hour()*100 + system.minute();


So kannst Du minutengenau vergleichen.
Der Bereich von time geht von 0 (=0:00 Uhr) bis 2359 (=23:59 Uhr)
Wenn Du ebenfalls die Sekunden benötigst, kann man das ganze
auch erweitern:
long time;
...
time=system.hour()*10000 + system.minute()*100 + system.second();


Allerdings wäre es eleganter, ein Time-Serial-Format aufzubauen, in dem es bei
den Stundenwechseln (bzw. beim 2ten Bsp. auch bei dn Minutenwechseln) zu
keinen "Lücken" kommt:
long timeserial;
...
timeserial=system.hour()*3600 + system.minute()*60 + system.second();


Das ganze könnte man noch mit Tag, Monat und Jahr nach dem selben Schema erweitern. :-)

Um noch ein kleines Beispiel für eine einfach Zeitschaltuhr zu zeigen:

int time;
time=system.hour()*100 + system.second();
if time>=630 and time<2145 // Port zwischen 6:30 und 21:45 einschalten
   ports.set(Port,-1);
  else
   ports.set(Port,0);


MfG André H.


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Zeit auswerten (von TN - 2.01.2004 20:00)