Schrift
[thread]11467[/thread]

Date::Calc: alle Freitage

Leser: 2


<< >> 4 Einträge, 1 Seite
Froschpopo
 2008-03-14 16:41
#107062 #107062
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Wie kann ich mit Date::Calc mir alle Freitage vom 01.01.07 bis 14.04.09 ausgeben lassen?
Ich brauche dann jeweils das Datum dieser ganzen Freitage.
moritz
 2008-03-14 16:54
#107065 #107065
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Ich bin ja ein CPAN:Date::Simple-Fan, damit ginge das ungefähr so:

Code (perl): (dl )
1
2
3
4
5
6
7
8
use Date::Simple qw(date);

my $d = date("2007-01-01");
$d++ until $d->day_of_week == 5;

for (; $d le '2009-04-14'; $d += 7){
    print $d, $/;
}


(ungetestet).
Mit Date::Calc geht das sicher auch, aber halt nicht mit so schöner Syntax ;-)
renee
 2008-03-14 16:59
#107066 #107066
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl

use strict;
use warnings;
use Date::Calc qw(
    Add_Delta_Days
    Monday_of_Week
    Week_of_Year
);
use Data::Dumper;

my @start = (1,1,2007);
my @end   = (14,4,2009);

my ($year,$month,$day) = Add_Delta_Days( Monday_of_Week( Week_of_Year( reverse @start ) ), 4 );
    print Dumper $year,$month,$day;

my @fridays;
while( sprintf("%04d%02d%02d",$year,$month,$day) < sprintf("%04d%02d%02d",reverse @end) ){
    push @fridays, sprintf "%02d.%02d.%04d", $day,$month,$year;
    ($year,$month,$day) = Add_Delta_Days( $year,$month,$day, 7 );
}

print $_,"\n" for @fridays;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2008-03-14 21:21
#107072 #107072
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
moritz+2008-03-14 15:54:21--
Mit Date::Calc geht das sicher auch, aber halt nicht mit so schöner Syntax ;-)

Bei Date::Calc ist auch Date::Calc::Object dabei, und da hat man auch die überladenen Operatoren zur Verfügung.
<< >> 4 Einträge, 1 Seite



View all threads created 2008-03-14 16:41.