use strict; use warnings; use DateTime; my $now = DateTime->now; #$now = DateTime->new( year => 1960, month => 3, day => 19 ); my $mon = $now->clone->subtract( days => $now->day_of_week_0, ); my $sun = $mon->clone->add( days => 6, ); printf " Today is %s (%d) %s $/", $now->ymd, $now->day_of_week, $now->day_name, ; printf "Week begins %s (%d) %s $/", $mon->ymd, $mon->day_of_week, $mon->day_name, ; printf " Week ends %s (%d) %s $/", $sun->ymd, $sun->day_of_week, $sun->day_name, ; __DATA__ Today is 2005-06-23 (4) Thursday Week begins 2005-06-20 (1) Monday Week ends 2005-06-26 (7) Sunday