fix report day selection on daylight savings boundaries, RT#21879
authorIvan Kohler <ivan@freeside.biz>
Tue, 19 Mar 2013 22:42:39 +0000 (15:42 -0700)
committerIvan Kohler <ivan@freeside.biz>
Tue, 19 Mar 2013 22:42:39 +0000 (15:42 -0700)
FS/FS/Misc/DateTime.pm

index 99ff409..2fff906 100644 (file)
@@ -2,8 +2,8 @@ package FS::Misc::DateTime;
 
 use base qw( Exporter );
 use vars qw( @EXPORT_OK );
-use POSIX;
 use Carp;
+use Time::Local;
 use Date::Parse;
 use DateTime::Format::Natural;
 use FS::Conf;
@@ -49,7 +49,7 @@ sub parse_datetime {
       #carp "WARNING: can't parse date: ". $parser->error;
       #return '';
       #huh, very common, we still need the "partially" (fully enough for our purposes) parsed date.
-      $dt->epoch;
+      return $dt->epoch;
     }
   } else {
     return str2time($string, $tz);
@@ -69,7 +69,7 @@ sub day_end {
 
     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
         localtime($time);
-    mktime(59,59,23,$mday,$mon,$year,$wday,$yday,$isdst);
+    timelocal(59,59,23,$mday,$mon,$year);
 }
 
 =back