Thread Date::Calc richtig genutzt? (9 answers)
Opened by bianca at 2009-12-19 16:35

sid burn
 2009-12-21 16:41
#129580 #129580
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Klappt hervorragend aber ist das wirklich so einfach?

Nein.

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
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env perl
# Core Modules
use strict;
use warnings;
use utf8;
use open ':encoding(UTF-8)';
use open ':std';

use DateTime;
use DateTime::Format::Strptime;

# Wochenstart im America/Chicago
my $parser = DateTime::Format::Strptime->new(
    pattern   => '%d.%m.%Y',
    locale    => 'en_US',
    time_zone => 'America/Chicago',
);

my $dt = $parser->parse_datetime('19.12.2009');
my $offset = $dt->local_day_of_week;
$dt->subtract( days => $offset-1 );
print "In America/Chicago ist der Wochenstart der ", $dt->dmy('.'), "\n";


# Wochenstart in Europe/Berlin
my $parser2 = DateTime::Format::Strptime->new(
    pattern   => '%d.%m.%Y',
    locale    => 'de_DE',
    time_zone => 'Europe/Berlin',
);

my $dt2 = $parser2->parse_datetime('19.12.2009');
my $offset2 = $dt2->local_day_of_week;
$dt2->subtract( days => $offset2-1 );
print "In Europe/Berlin ist der Wochenstart der ", $dt2->dmy('.'), "\n";


Ausgabe:
Code: (dl )
1
2
In America/Chicago ist der Wochenstart der 13.12.2009
In Europe/Berlin ist der Wochenstart der 14.12.2009


Nebenbei empfehle ich dir hiermit auch lieber DateTime zu nutzen da es korrekter arbeitet vorallem was Zeitzonen etc. betrifft.

Quote
Danke Euch!

Bitte.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Date::Calc richtig genutzt?