Configure Calendar

Nextcloud Server version (e.g., 29.x.x):

  • 31

Summary of the issue you are facing:

I have two issues with the calendar app:

  1. Everytime I want to add an event, the event has the “All day” box checked. I have almost no events which take the whole day and would much appreciate this box to be unchecked by default, but can’t find a way to configure that.
  2. I would like to add dates to a calendar, which predate 1970 (eg. my dad’s birthday). But there appears to be no way to specify those dates. Instead, I can only write the year into the decription of the event. Editing that date via the contacts app also doesn’t succeed.

What’s the advice here, please?

Steps to replicate it (hint: details matter!):

  1. Install Nextcloud 31.

  2. Try to add a date before 1970.

  3. See how the calendar is greyed out.

My suspicion is that the date is stored as seconds since the epoch, but I don’t know how difficult it is to change that.

I don’t think that’s possible. Maybe you could upvote this feature request on GitHub: https://github.com/nextcloud/calendar/issues/6793

You can click on the date and then type it in manually instead of using the date picker.

To be honest, I’m not sure how useful it is to add birthdays directly to the calendar on the actual year of birth. Sure, you could create a yearly recurring event starting from that date, but a better approach, imho, would be to enter the birthday to the corresponding contact, and then ensure the birthday calendar is enabled in the ‘Calendar settings’ at the bottom left of the calendar app. This will automatically create annual events for all your contacts’ birthdays, showing the person’s name and year of birth on their birthdays.

This makes more sense, because many calendars do not synchronize calendar entries older than around 2 years.

1 Like

I chose the birthday as an example, but I wanted to include other dates that can’t be represented by contacts. I’ve tried to manually enter the date, but it was “clipped” to 1970. I’ve checked, and any dates before 1970 were not marked in the calendar.

I have upvoted the Github feature request. Thank you for the pointer.

Apparently, it’s indeed not possible to select dates earlier than 1 January 1970 because the date is saved as an epoch (unsigned integer) in the database, which does not support negative numbers (i.e. any date before 1 January 1970).

See the following GitHub issue for more information and potential workarounds for anniversary dates: Can't select dates older than 1 Jan 1970 or newer than 2038 · Issue #6818 · nextcloud/calendar · GitHub

Maybe it is a relict of the year-2000-problem.

Dates containing two digits as year became switched to 20th century, if the value is higher than “70” up to “99”. If the value is “00” up to 69” the year becomes assigned to 21st century. That might be the reason, why years before 1970 won’t work. - But the developers can give a real (but not guessed) answer.

Sounds more like the year 2038 problem in conjunction with Unix time. But then again, I’m no expert…

Etwas mit dem Datumsformat wird es jedenfalls sein.

I’m aware of the Unix timestamp and year-2038 problem, and would recommend to update from Unix timestamps to TAI64 (see https://cr.yp.to/libtai/tai64.html), which should solve any potential date and time problems with comparably little effort.

Then I suggest you tell the developers directly by joining the discussion on GitHub.

Either by commenting on the GitHub issue linked above, or if you think it makes sense, open a new issue with specific suggestions on how the developers could implement this, possibly with a reference to the issue linked above, or even better, if you are a developer, implemet it yourself and submit a pull request. :slight_smile:

1 Like