+ # get date from login, to ensure we're using upstream date
+ my ($year,$mon,$mday,$hour,$min,$sec) = $resp->{'ResponseTimestamp'} =~ /^(....)-(..)-(..)\s+(..):(..):(..)/;
+ # then add a day and a bit, because "processs date need to be a date in the future"
+ my $date = DateTime->new(
+ year => $year,
+ month => $mon,
+ day => $mday,
+ hour => $hour,
+ minute => $min,
+ second => $sec,
+ # timezone on object mostly doesn't matter,
+ # but this does appear to be the tz being passed by BillBuddy,
+ # and this should avoid DST troubles (Queensland does not do DST)
+ time_zone => 'Australia/Queensland',
+ )->add_duration(
+ # extra hour is buffer for upload to run, hopefully that's plenty
+ DateTime::Duration->new( hours => 25 )
+ )->ymd;