Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Converting Julian Dates to Text

by ikegami (Patriarch)
on Oct 28, 2008 at 04:04 UTC ( [id://719899]=note: print w/replies, xml ) Need Help??


in reply to Converting Julian Dates to Text

A CPAN search finds matches, including DateTime::Format::Epoch::MJD.
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" );

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://719899]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (8)
As of 2024-04-20 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found