-my $sdate = $cgi->param('start_year').
- '-'.
- $cgi->param('start_month').
- '-01';
-my $edate = ($cgi->param('end_year') +
- ($cgi->param('end_month')==12)).
- '-'.
- ($cgi->param('end_month') % 12 + 1).
- '-01'; # first day of the next month
-
-my $sql = "AND signupdate >= ".str2time($sdate).
- " AND signupdate < ".str2time($edate);
+
+my $sdate = DateTime->new(
+ year => $cgi->param('start_year'),
+ month => $cgi->param('start_month'),
+ time_zone => 'America/Los_Angeles',
+)->epoch();
+
+my $edate = DateTime->new(
+ year => $cgi->param('end_year'),
+ month => $cgi->param('end_month'),
+ time_zone => 'America/Los_Angeles',
+)->epoch();
+
+my $where .= " AND signupdate >= $sdate ".
+ " AND signupdate <= $edate ";