Section: User Contributed Perl Documentation (3)
DateTime::Calendar::Julian - Dates in the Julian calendar
$dt = DateTime::Calendar::Julian->new( year => 964,
month => 10,
day => 16,
# convert Julian->Gregorian...
$dtgreg = DateTime->from_object( object => $dt );
print $dtgreg->datetime; # prints '0964-10-21T00:00:00'
# ... and back again
$dtjul = DateTime::Calendar::Julian->from_object( object => $dtgreg );
print $dtjul->datetime; # prints '0964-10-16J00:00:00'
DateTime::Calendar::Julian implements the Julian Calendar. This module
implements all methods of DateTime; see the DateTime
(3) manpage for all
This module implements one additional method besides the ones from
DateTime, and changes the output of one other method.
Returns the difference in days between the Gregorian and the Julian
print $dt->datetime( $sep ), "\n";
This method is equivalent to
join $sep, $dt->ymd( '-' ), $dt->hms( ':' );
The $sep argument defaults to 'J'.
Caveat: the optional argument was added to this method in version
1.02, to belatedly track a change made in DateTime version
1.43 released 2017-05-29. Fixing this restores the original
stringification behavior of this class, which was to return an ISO-8601
string unless a formatter was set. Before this change, the
stringification separated date and time with either a 'T' or a
'J', depending on which version of DateTime was
The Julian calendar was introduced by Julius Caesar in 46BC. It
featured a twelve-month year of 365 days, with a leap year in February
every fourth year. This calendar was adopted by the Christian church in
325AD. Around 532AD, Dionysius Exiguus moved the starting point of the
Julian calendar to the calculated moment of birth of Jesus Christ. Apart
from differing opinions about the start of the year (often January 1st,
but also Christmas, Easter, March 25th and other dates), this calendar
remained unchanged until the calendar reform of pope Gregory XIII
1582. Some backward countries, however, used the Julian calendar until
the 18th century or later.
This module uses the proleptic Julian calendar for years before 532AD,
or even 46BC. This means that dates are calculated as if this calendar
had existed unchanged from the beginning of time. The assumption is
made that January 1st is the first day of the year.
Note that BC years are given as negative numbers, with 0 denoting the
year 1BC (there was no year 0AD!), -1 the year 2BC, etc.
Support for this module is provided via the firstname.lastname@example.org
list. See http://lists.perl.org/
for more details.
Bug reports will be accepted as RT tickets or by mail to Wyant.
Eugene van der Pijll <email@example.com
Thomas R. Wyant, III wyant at cpan dot org
COPYRIGHT AND LICENSE
Copyright (c) 2003 Eugene van der Pijll. All rights reserved.
Copyright (C) 2018-2019 Thomas R. Wyant, III
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose.
firstname.lastname@example.org mailing list