Convert datetimes to/from tai64 values
use DateTime::Format::Epoch::TAI64; my $dt = DateTime::Format::Epoch::TAI64 ->parse_datetime( '4611686019483526367' ); # 2003-06-20T19:49:59 DateTime::Format::Epoch::TAI64->format_datetime($dt); # 4611686019483526367 my $formatter = DateTime::Format::Epoch::TAI64->new(); $dt = $formatter->parse_datetime( '4611686019483526367' ); # 2003-06-20T19:49:59 $formatter->format_datetime($dt); # 4611686019483526367 my $str_frmt = DateTime::Format::Epoch::TAI64->new( format => 'string' ); $dt = $str_frmt->parse_datetime( "\x40\0\0\0\x3e\xf3\x69\x6a" ); # 2003-06-20T19:49:59 $str_frmt->format_datetime($dt); # "\x40\0\0\0\x3e\xf3\x69\x6a"
This module can convert a DateTime object (or any object that can be converted to a DateTime object) to a \s-1TAI64\s0 value. The \s-1TAI64\s0 timescale covers the entire expected lifespan of the universe (at least, if you expect the universe to be closed).
Most of the methods are the same as those in DateTime::Format::Epoch. The only difference is the constructor.
new( [format => 'string'] ) Constructor of the formatter/parser object. If the optional format parameter is set to 'string', \s-1TAI64\s0 values will be expected to be 8 byte strings.
Support for this module is provided via the [email protected] email list. See http://lists.perl.org/ for more details.
Eugene van der Pijll <[email protected]>
Copyright (c) 2003, 2004 Eugene van der Pijll. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.