<?xml version="1.0" encoding="windows-1252"?>
<node id="892673" title="How to get last day of 2 months ago" created="2011-03-11 10:14:27" updated="2011-03-11 10:14:27">
<type id="115">
perlquestion</type>
<author id="843269">
dirtdog</author>
<data>
<field name="doctext">
&lt;p&gt;  Hi Monks,  
I'm trying to get the last day of the month from 2 months ago.  For example, Since the current month is March i'd like to get a date range of 1/31/2011 to 2/28/2011.   And If current month was February..then i'd want 12/31/2010 to 01/31/2011.  The code i'm using is below...I really appreciate your help!&lt;/p&gt;
&lt;code&gt;
#!/usr/bin/env perl
use POSIX 'strftime';
my @t = (localtime(time));
#mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0);
my $lastday = POSIX::mktime(0,0,0,0,$t[4],$t[5],0,0,-1);
my $lastday_prev = POSIX::mktime(0,0,0,0,$t[3],$t[5],0,0,-1);
my @ld_prev = localtime($lastday_prev);
my @ld = localtime($lastday);
print "ld is $ld[3]\n";
print "ld_prev is $ld_prev[3]\n";


my $monthly_date_beg = strftime('%m/' . $ld_prev[3] . '/%Y', $t[0],$t[1], $t[2], $t[3], $t[4]-2, $t[5]);
my $monthly_date_end = strftime('%m/' . $ld[3] . '/%Y', $t[0],$t[1], $t[2], $t[3], $t[4]-1, $t[5]);


rint "beg = $monthly_date_beg\n";
print "end = $monthly_date_end\n";

&lt;/code&gt;
</field>
</data>
</node>
