blob: 534e86adcc0c456455965a7a65c3281ab8b98f18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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;
|