Need help understanding how Bubble handles dates/timezones

I’m finishing an app for a client. Previous Bubble dev appears to have used a YouTube tutorial to build a custom Calendar which uses this Javascript: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

I can’t read code but I have a vague understanding of what it’s doing, and the calendar works fine for the client’s needs… except for one quirk:

I created a workflow so a user can click on a calendar day and add their “Availability” to this calendar. It creates a new Availability in the database where the date = the parent group’s date on the calendar cell.

When I’m using a computer on the west coast, as an example, the date recorded in the database is something like “12/11/2023 12:00 am” but when I use a computer on an east coast timezone it’s “12/11/2023 09:00 pm”

Time for each Date is irrelevant for these availabilities and doesn’t show on the calendar, so this wouldn’t be a problem, except users who are looking at this calendar can only see availabilities that were created and recorded in their own timezone, which creates problems for the client.

It’s not a privacy permissions issue, the client doesn’t want to use the date/time picker, and my repeating group data is very simple:

Any help solving this, or at least helping me understand how Bubble handles dates and timezones would be appreciated.

Timezones can be tough, but they are extensively talked about in the forums. Here is a post from just a few days ago where @cmarchan linked the arguably best resource for understanding bubble timezones.

Give it a read, as it really helps.
But I also mentioned a Bubble feature in the Settings that overrides all timezones when saving date/times to the database . You can use this feature at the workflow-level so that the dates which are specifically being used for the calendar don’t get affected by timezones (so they just represent dates rather than date/times)

1 Like

Thanks for the link, I believe overriding the timezone in Bubble app settings might be the solution I was looking for. Going to have to run some tests though.

Update: This worked. I enabled the setting on the Bubble app to allow timezones to be controlled on the page level. I went to the page that had a calendar and set to static choice and picked an arbitrary timezone. Then I made sure the repeating group was displaying days “rounded down to the day, in that static timezone,” and also did the same for when the user created a new Availability. Not sure if all of those steps are necessary for this to work, but this is the combination that ended up working for me.