Thread Zeitintervall erzeugen (13 answers)
Opened by Spuki at 2007-08-09 16:45

Daxim
 2007-08-10 18:58
#97917 #97917
User since
2007-08-01
114 Artikel
BenutzerIn
[Homepage]
user image
Die Familie um CPAN:DateTime (Homepage) ist von allen Datum-/Zeitmodulen am besten gepflegt. Wenn ich mir die oben genannten Distributionen anschaue, sind die teilweise jahrelang nicht mehr aktualisiert worden.

Spuki, beachte, dass du an mindestens zwei Tagen im Jahr den Umstand vorliegen hast, dass ein Tag nicht genau 24 Stunden lang ist, nämlich durch Umstellung von Sommer- und Winterzeit sowie Schaltsekunden. Du solltest auf keinen Fall:[ul][li]Diese Umstände ignorieren, dann kommt Murks raus; wenn nicht gleich, dann irgendwann später.[/li][li]Diese Umstände selber recherchieren und nachprogrammieren, das ist höchst fehlerträchtig.[/li][li]Bloß die primitiven Coremodule zur Manipulation von Datum und Zeit verwenden.[/li][/ul]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use DateTime qw();
my $dt = DateTime->new(
    year   => 2007,
    month  => 8,
    day    => 10,
    hour   => 0,
    minute => 0,
    second => 0,
    time_zone => 'floating',
                # oder 'UTC' oder 'Europe/Berlin', je nachdem, was du hast
);

my $tomorrow = $dt->clone->add(days => 1);

while ($dt < $tomorrow) {
    print $dt->strftime('%T'), "\n"; # The time in 24-hour notation (%H:%M:%S).
    $dt->add(minutes => 5);
};

View full thread Zeitintervall erzeugen