in reply to Setting up date to subtract specific number from it

G'day vihar,

You can do this very easily with the builtin modules Time::Piece and Time::Seconds.

Here's an example using Sunday, 1-Dec-2013 which, using your figures, should have 2 days subtracted; resulting in Friday, 29-Nov-2013.

#!/usr/bin/env perl -l use strict; use warnings; use Time::Piece; use Time::Seconds; my %day2t = qw{Fri 0 Sat 1 Sun 2 Mon 3 Tue 4 Wed 5 Thu 6}; my $test_date = '1-Dec-2013'; my $t_now = Time::Piece->strptime($test_date, '%d-%b-%Y'); my $t_mod = $t_now - ONE_DAY * $day2t{$t_now->day}; print 'Time now: ', $t_now->strftime; print 'Time modified: ', $t_mod->strftime;

Output:

Time now: Sun, 01 Dec 2013 00:00:00 UTC Time modified: Fri, 29 Nov 2013 00:00:00 UTC

Notes:

-- Ken