#1189 hijri calendar aniversaries is useless

Arif Zaman

Firstly, this is my first post, so if I break some etiquettes, please explain politely and I will try to learn.

Second, there were only three categories, so I picked "I hate this..." even though really is a small mistake that would be nice if it worked. It is not even close to arousing a sentiment like hate. In fact, I was shocked to see that there was provision for Hijri already built in. I didn't expect even that much, so I love it.

Finally, here is what I believe is a mistake:

Hijri is a lunar calendar, and cycles after about 354 days, not 365. When you go the the anniversary calendar view month for hijri, what you get is a hijri month, for example the 10th Safar 1431 corresponds to 26 Jan 2010. But in the box of 10 Safar you will get a list of all the events that occurred on 26 Jan in any year, not the events that occurred on 10th of Safar in any year.

For example, 10 Safar 1430 occurred on Jan 24 2009. I would think that in the Hijri view, each event should first be converted to hijri, and then those events that occurred on 10 Safar should be binned together. As it is, the binning is done at the start, based on the Julian date, and then the calendar is created later. This appears to me to be a mistake.


  • Anonymous - 2010-01-26

    Arif, as requested, here is a "polite explanation" :-)

    This "tracker" is for new Feature Requests. What you have described is a bug, so belongs in the Bug Reports tracker. But apart from that you have described the problem very well. Sadly, I am not an expert in this part of the code, but if you re-post in the Bug Reports, you might get a quicker answer, as our developers are more likely to see the problem there.

    No need to use the Categories at all if you don't want - but I agree "I hate this.." is difficult wording, to say the least.

    Welcome to PGV, and thank you for such a polite criticism. I am sure someone will be keen to help you if it is possible.


  • Łukasz Wileński

    moved to the Bug Reports

  • Łukasz Wileński

    • labels: 434302 -->
    • milestone: 213376 -->
  • Greg Roach

    Greg Roach - 2010-01-26

    Anniversaries are calculated according to the calendar of the date in which the event was *recorded*. So,

    if you record a date in Gregorian/Julian/French, the anniversaries will fall every ~365 days.
    if you record a date in Hijri, the anniversaries will fall every ~354 days
    If you record a date in Hebrew, the anniversaries will fall every ~354 or ~384 days.

    These anniversaries are then shown on the anniversary day of whichever calendar you are displaying.

    This is by design - and the design was chosen after *lots* of discussion with many PGV users.

    I guess it depends on how you define "anniversary".

    My parents were married on a gregorian date, and celebrate their anniversary according to gregorian anniversaries. If you look at the a hijri calendar page, it will show their anniversaries on the dates that *they would celebrate it.* Converting the original dates to hijri and calculating hijri anniversaries would show dates that are meaningless to all the individuals concerned. You certainly wouldn't want to send them an anniversary card on anything other than gregorian anniversaries.

    There was a similar issue with Europe's change from julian to gregorian calendars. People continued to calculate anniversaries (birthdays, annual land rental, coming-of-age, etc.) according to the calendar in which the event occured.

    So this is how everyone (except, perhaps you!) expects it to work.

    The change you are requesting would, I think, be extremely unpopular.

    It would also be difficult to implement using the current architecture. PGV records the day/month/year of each event to facilitate these calculations. We don't have the converted d/m/y that we would need to calculate the other anniversaries.

    There is one PGV "power user" who records certain events twice - once in the Hebrew calendar and once in the Gregorian calendar. This shows the anniversaries in both calendars.

    I'm going to reject this as a bug - it is working as designed - so I will move it back to the feature-request tracker.


  • Greg Roach

    Greg Roach - 2010-01-26

    BTW - I wrote the date library and designed it to work independently of the calendar. Each actual calendar (gregorian, julian, hebrew, etc.) is just a plug-in.

    Support for Hijri is provided by less than 20 lines of code - a calendar simply need to define conversions between julian-day-number and d/m/y and provide a few definitions for the months and leap-years, if applicable.

    Provided they are based on day/month/year concepts, adding other calendars (e.g. Iranian) would require equally minimal changes.

    The design should also work for calendars with different eras (e.g. japanese) by allowing an era name to follow the year. (c.f. the B.C. suffix for julian dates before year 1)

    None of these have been implemented due to lack of demand - plus the fact that such dates (including HIJRI) are not part of the gedcom spec, so are not transferrable to other applications.

    I only implemented HIJRI as a proof-of-concept. Nobody had mentioned it beforehand.

    The only consideration is that the choice of month name keywords needs to be chosen so that no name forms part of any other gedcom keyword and vice-versa. e.g. your month names cannot contain the letter sequence TO or MAY, because it would be recognised as a keyword.


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks