I did some more testing and applied this patch https://github.com/owncloud/contacts/pull/1068 to my owncloud. This fixes the issue for me. I have done it manually since there is no official update which fixes the issue. If there are others who can test this on their installation maybe a few more comments on github help to speed up an official fix that non-technical people can profit from it as well.
Birthday events synchronized from owncloud are not displayed (DTSTART before 1902)
I’m using DAVDroid with owncloud 10.0.7 with the Contacts and Calendar plugin. The Calendar plugin creates a read-only calendar for birthdays extracted from the contacts. Now there seems to be a problem with contacts for which only a birthdate without a year is entered. The respective vcard contains an event ending with an asterisk *:
BEGIN:VEVENT DTSTAMP:20180311T093303Z DTSTART;VALUE=DATE:19001212 DTEND;VALUE=DATE:19001213 UID:d5f0e067-ceee-4b5c-8588-794150e8c955 RRULE:FREQ=YEARLY SUMMARY:Georg * TRANSP:TRANSPARENT BEGIN:VALARM TRIGGER;VALUE=DURATION:-PT0M ACTION:DISPLAY DESCRIPTION:Georg * END:VALARM END:VEVENT
All the birthdays where I did not enter a birth year do not show up e.g. in the Google Calendar app or in the Simple Calendar app (https://simplemobiletools.github.io/).
Although I am not 100% sure whether the problem is on DAVDroid’s side or owncloud’s or the clients’, I noticed that as soon as I enter a year for the birthday in contacts, the respective event is shown in the calendars.
When I synchronize the birthday calendar with Thunderbird’s DAV implementation (or Lightning’s), I can see all the birthday events, regardless of whether they have a year associated with them or not.
So, only dates between 1902 and 2037 will be processed correctly and it’s really a 32-bit problem. […] To fix the problem, Android calendar provider would just need to use java.util.Calendar instead of android.text.format.Time. I have created an Android bug report for this: https://code.google.com/p/android/issues/detail?id=225154
Unfortunately, my bug report hasn’t even been looked at since Oct 2016. I guess there’s no big interest in fixing this.
Instead of using the birthday calendar provided by the CalDAV server, you might provide birthday information in the contacts and then use the Birthday Adapter app, see https://www.davdroid.com/faq/contact-birthdays-in-calendars/
@rfc2822 first off: thanks for the immediate reply. Second: wow! Birthday Adapter from F-droid is so cool! It is exactly what I was looking for. Thank you! And thank you for DAVDroid! (and sorry for the duplicate)