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) |