[threeten-dev] Review request for changes to support Hijrah variants
roger riggs
roger.riggs at oracle.com
Sat Feb 16 09:00:08 PST 2013
Hi Dan,
The Threeten API does not presently try to accommodate that technique
for dealing with that aspect of Islamic tradition. But it is similar to
several other calendars,
mostly Lunar-Solar calendars that have variations in the month
sequence/numbers.
For example, the traditional Chinese calendar and various Indian calendars.
I expect that an effective approach for those is that formatter would be
able
to parse and format the date as expected by the human reader but that
the numeric
sequence would be strictly sequential.
The code referenced should not be hard coded but be computed from the
calendar as it as read (but the result would be about the same).
Roger
On 2/15/2013 9:02 PM, Dan Chiba wrote:
> Hi Roger,
>
> HijrahChronology.java
>> 652 int getMaximumDayOfMonth() {
>> 653 return 30;
>
> At R.H. van Gent's website
> <http://www.staff.science.uu.nl/%7Egent0113/islam/ummalqura.htm>, it
> says:
>
> "In some cases the advancement of the month can result in a month
> length of 31 days which is awkward as Islamic tradition only allows
> for month lengths of 29 or 30 days. In such cases one of the days in
> the month is reckoned twice. For instance, both Friday 28 December and
> Saturday 29 December 2007 were reckoned as 19 Dhū ’l-Ḥijja 1428 AH."
>
> This sounds astounding; I don't think 310 could support same date for
> two days, while a month longer (or shorter) than standard lengths
> might be supported.
>
> Thanks,
> -Dan
>
> On 2/15/2013 1:16 PM, roger riggs wrote:
>> Hi,
>>
>> Please review the changes to support multiple Islamic calendar variants:
>> - Only the Umm alQura variant is supported so far and is supported
>> by limited
>> placeholder data until the full data can be acquired and validated.
>> - Tests have been updated to work with the updated API and available
>> data
>> - The use of Locale 'ca' and 'cv' values has been added to
>> Chronology.ofLocale
>> - Properties are added to lib/calendars.properties to identify the
>> variants
>> by calendar type and to identify the resource containing the
>> calendar data.
>>
>> Webrev: http://cr.openjdk.java.net/~rriggs/webrev-hijrah-variants/
>>
>> Javadoc: http://cr.openjdk.java.net/~rriggs/javadoc-hijrah-variants/
>>
>> Note: there are several related issues to be addressed after this
>> change:
>> - The API for Era.date(xxx) does not lend itself to support of
>> calendars
>> with multiple variants; Eras do not have any knowledge of a
>> specific chronology
>> - Performance of initialization at startup
>> - Enumerations of Eras
>>
>
--
Thanks, Roger
Oracle Java Platform Group
Green Oracle <http://www.oracle.com/commitment> Oracle is committed to
developing practices and products that help protect the environment
More information about the threeten-dev
mailing list