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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
package DateTime::Format::Epoch::MJD;
use strict;
use vars qw($VERSION @ISA);
$VERSION = '0.13';
use DateTime;
use DateTime::Format::Epoch;
@ISA = qw/DateTime::Format::Epoch/;
my $epoch = DateTime->new( year => 1858, month => 11, day => 17 );
sub new {
my $class = shift;
return $class->SUPER::new( epoch => $epoch,
unit => 1/86400,
type => 'float',
skip_leap_seconds => 1 );
}
1;
__END__
=head1 NAME
DateTime::Format::Epoch::MJD - Convert DateTimes to/from Modified Julian Days
=head1 SYNOPSIS
use DateTime::Format::Epoch::MJD;
my $dt = DateTime::Format::Epoch::MJD->parse_datetime( 53244 );
# 2004-08-27T00:00:00
DateTime::Format::Epoch::MJD->format_datetime($dt);
# 53244
my $formatter = DateTime::Format::Epoch::MJD->new();
my $dt2 = $formatter->parse_datetime( 53244 );
# 2004-08-27T00:00:00
$formatter->format_datetime($dt2);
# 53244
=head1 DESCRIPTION
This module can convert a DateTime object (or any object that can be
converted to a DateTime object) to the Modified Julian Day number. See
L<DateTime::Format::Epoch::JD> for a description.
=head1 METHODS
Most of the methods are the same as those in L<DateTime::Format::Epoch>.
The only difference is the constructor.
=over 4
=item * new()
Constructor of the formatter/parser object. It has no parameters.
=back
=head1 SUPPORT
Support for this module is provided via the datetime@perl.org email
list. See http://lists.perl.org/ for more details.
=head1 AUTHOR
Eugene van der Pijll <pijll@gmx.net>
=head1 COPYRIGHT
Copyright (c) 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.
=head1 SEE ALSO
L<DateTime>
datetime@perl.org mailing list
=cut
|