package DateTime::Format::GeekTime; use strict; use warnings; use DateTime; use vars '$VERSION'; $VERSION='1.000_001'; $VERSION=eval $VERSION; sub parse_datetime { my ($self,$string)=@_; } sub format_datetime { my ($self,$dt)=@_; my $start_of_day=$dt->clone->truncate(to=>'day')->set_time_zone('UTC'); my $start_of_year=$dt->clone->truncate(to=>'year')->set_time_zone('UTC'); my $seconds=$dt->subtract_datetime_absolute($start_of_day)->in_units('seconds'); my $days=$dt->subtract_datetime_absolute($start_of_year)->in_units('days'); $seconds*=(65_536/86_400); my $chr=eval { chr($seconds) }; if (!defined $chr) {$chr=''} else {$chr=" $chr"}; return sprintf '0x%04X 0x%04X%s',$seconds,$days,chr($seconds); } 1;