use DateTime::Format::Epoch::MJD qw( ); print( DateTime::Format::Epoch::MJD->parse_datetime( $mjd )->ymd(), "\n" );
But contrary to what you said 39749 is 1967-09-16. 2008-10-28 is 54767.
Update:
You can make your own DateTime::Format::Epoch derivative.
BEGIN { package DateTime::Format::Epoch::Excel; use DateTime qw( ); use DateTime::Format::Epoch qw( ); our @ISA = 'DateTime::Format::Epoch'; my $epoch = DateTime ->new( year => 1900, month => 1, day => 1 ) ->subtract( days => 2 ); # Incorrect for days before March 1st, 1900 # due to 1900 being treated as a leap year. sub new { my ($class) = @_; return $class->SUPER::new( epoch => $epoch, unit => 1/86400, type => 'float', skip_leap_seconds => 1 ); } } print( DateTime::Format::Epoch::Excel->parse_datetime( 39749 )->ymd(), "\n" );
You can use DateTime::Format::Excel.
use DateTime::Format::Excel qw( ); print( DateTime::Format::Excel->parse_datetime( 39749 )->ymd(), "\n" );
In reply to Re: Converting Julian Dates to Text
by ikegami
in thread Converting Julian Dates to Text
by finhagen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |