Hi Sven,
Wenn das einzige, was du willst, die exakte Zeit der lokalen Maschine
ist (und dir herzlich egal ist, wie diese Zeit gestellt wird), dann
vertraue doch einfach dem externen Kommando "date", welches dir in
beliebiger Formatierung sagt, wie spät es die Maschine gerade hat -
und wenn's Null Uhr ist, machst du programm-mäßig eben was anderes als
vorher.
Ich weiß nicht, wie exakt um 0 Uhr ich Gelegenheit bekomme, auf die Uhr zu sehen. Es kann sein, daß ich zu diesem Zeitpunkt gerade zu tun habe - und solange ich zu tun habe, will ich bestimmt nicht umschalten.
Wahrscheinlich will ich ohnehin nicht genau um Mitternacht umschalten, weil ich im Moment nicht so ganz sicher bin, wann _genau_ meine Nachrichtenquelle vertrocknet und die nächste zu senden beginnt.
Den Sendebeginn darf ich durchaus erst mal verpassen - das puffert jemand anders für mich, ich muß nur dessen Ausgabe irgendwann zu lesen anfangen. Aber vor dem Beginn der Verarbeitung der nächsten Eingabequelle habe ich ein tägliches Housekeeping zu erledigen, das eine ganze Weile dauern kann ... deshalb möchte ich damit so früh wie möglich anfangen, weil sich um diese Zeit noch ein paar andere Last-Fresser um die CPU schlagen ... und das Aufholen der Verarbeitung der nächsten Eingabe kann auch teuer werden, wenn ich mir zu viel Zeit lasse ... um zwei Stunden wie bisher darf ich mich jedenfalls nicht irren. ;-)
Im Vergleich zu "date" (externe Abhängigkeit und zusätzlicher Prozeßstart) gefällt mir allerdings "localtime()" im Moment deutlich besser.
Viele Grüße
Michael