I announce the release of version 0.1.0 of my Date::Calendar::xxx modules.

Context
-------

In the Gregorian calendar, days are defined as a span of time starting
at midnight and stopping on the following midnight. While some other
calendars use the same definition, several calendars define days as
sunset-to-sunset.  And there are even some calendars that define days
as sunrise-to-sunrise.

On one hand, the books and the static (and semi-static) websites I have
read usually tell their readers how the days are defined in such and
such calendar.  On the other hand, all the programs I have used until
now (and modules, and apps, and dynamic websites) ignore the
definition of the day in the various calendars, and pretend that all
days are midnight-to-midnight. Sometimes, not always, the
documentations of these programs mention this as a limitation, a
"known issue" or a "known bug".

For example, Hannukah begins on 25 Kislev at sunset, so next Hannukah
will begin on 2024-12-25 at sunset. Yet, all programs converts
5785-09-25 to 2024-12-26.


What's new in version 0.1.0
---------------------------

When creating a date with any Date::Calendar::xxxx:ver<0.1.0>, you can
add a `daypart` parameter to refine the date. The possible values are
`before-sunrise', `daylight` and 'after-sunset'. So, when creating the
instance from class `Date::Calendar::Hebrew:ver<0.1.0>` for Hannukah,
you just take care of adding `daypart => after-sunset()` to the
`new` constructor and the conversion to Gregorian will give 2024-12-25
(plain 2024-12-25 if using core class `Date`, or 2024-12-25
after-sunset if using `Date::Calendar::Gregorian:ver<0.1.0>`). On the
other hand, if you create an instance for 5785-09-25 before-sunrise or
5785-09-25 daylight, the conversion will give 2024-12-26.

What Date::Calendar::xxxx:ver<0.1.0> does not
---------------------------------------------

The modules ignore any HHMMSS component and especially do not
try to guess what part of the day this time stamp refers to.
For example, you can create a D::C::Gregorian date with
a HHMMSS component "224500" and still pretend this
is daylight or before sunrise.

Thank you for your interest.

Jean Forget

Reply via email to