#!/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";