package Feed::Role::FixDateTime; use Moose::Role; use 5.012; use namespace::autoclean; use DateTime; requires 'process_entry'; before process_entry => sub { my ($self,$entry) = @_; $self->log->trace('before process_entry - begin'); for my $f ('issued','modified') { my $date = $entry->$f; if ($date && $date->time_zone->is_floating) { $date->set_time_zone('UTC'); } $entry->$f($date); } $self->log->trace('before process_entry - end'); }; 1;