Closed nuthub closed 7 months ago
well, using unix timestamp is not an issue per se, since you can express dates before 1970/01/01 by using negative integers (or whatever data type one uses to store the timestamp)
However, I had a look into an ics file that nextcloud creates for a birthday <1970. And the date of the calendar entry is indeed set to 1970-mm-dd instead of the actual year. The actual year of birthday is put in brackets into the events SUMMARY and DESCRIPTION fields, e.g. "John Doe (1950)" and in an vendor specific field X-NEXTCLOUD-BC-YEAR.
I think, taking care for vendor specific fields is not in scope of org-caldav.
So this seems to be a Nextcloud issue. The question remains, why doesn't nextcloud create the event as close as possible to the actual year of the birthday. ( considering the boundaries of the used data type)
I'm closing this issue here.
For reference, this is how a 1950(-10-05) birthday looks like:
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:-//IDN nextcloud.com//Birthday calendar//EN
BEGIN:VEVENT
DTSTAMP:20210215T155140Z
DTSTART;VALUE=DATE:19701005
DTEND;VALUE=DATE:19701006
UID:66cc4c1b-d36e-4eaf-a392-cedcf50ea06a
RRULE:FREQ=YEARLY
SUMMARY:🎂 John Doe (1950)
TRANSP:TRANSPARENT
X-NEXTCLOUD-BC-FIELD-TYPE:BDAY
X-NEXTCLOUD-BC-UNKNOWN-YEAR:0
X-NEXTCLOUD-BC-YEAR:1950
BEGIN:VALARM
TRIGGER;VALUE=DURATION:-PT0M
ACTION:DISPLAY
DESCRIPTION:🎂 John Doe (1950)
END:VALARM
END:VEVENT
END:VCALENDAR
When syncing my Nextcloud's contact birthday calendar, birthdays before 1970-01-01 are created in org with 1970 and correct month and day.
Example: someone's birthday is 1968-09-24. In org it is created as 1970-09-24.