use Mail::IMAPClient;
my $now = time();
my $num_days = 5; # season to taste
my $timestamp_n_daysago = $now - $num_days * 86400; #86400 secs/day
my $zone = '-0400'; # EDT, season to taste, defaults to '+0000' (GMT0)
my $date = Mail::IMAPClient->Rfc2060_datetime($timestamp_n_daysago, $zone);
####
use strict;
use warnings;
use Mail::IMAPClient;
my $now = time();
my $zone = '-0400'; # EDT, season to taste, defaults to '+0000' (GMT0)
my $zone_correction = 3600 * $zone / 100; # timezone correction in secs
print "zone_correction: $zone_correction\n";
$now += $zone_correction;
my $date = Mail::IMAPClient->Rfc2060_datetime($now, $zone);
print "date_time now: $date\n";
my $num_days = 5; # season to taste
my $timestamp_n_daysago = $now - $num_days * 86400; #86400 secs/day
$date = Mail::IMAPClient->Rfc2060_datetime($timestamp_n_daysago, $zone);
print "date_time $num_days days ago: $date\n";
##
##
-> date && ./test
Wed Sep 24 16:01:32 EDT 2008
zone_correction: -14400
date_time now: 24-Sep-2008 16:01:32 -0400
date_time 5 days ago: 19-Sep-2008 16:01:32 -0400