Assignments that are due at 11:59pm are marked as all-day events in the Calendar Feed and do not have specific start & end times. As a result, these events do not adjust based on timezone. This is especially problematic for remote students.
For example, here's how course events appear in the Canvas Calendar for a student in a different timezone. Note the Live Discussion taking place on Thursday, Feb. 31 at 8:59am.
Here's how the same events appear in Google Calendar. Note the Live Discussion is shown all-day on Wednesday, Feb. 30th. Wrong day, wrong time.
Currently, this behavior is not reflected in the documentation.
Here's a code snippet from the ICS file. Note the hardcoded Date values and no (T)imes specified.
Canvas Support reported that "...Our engineers have decided that this is intentional for now." I disagree for the reasons noted above.
All events in the Calendar Feed should include start & end times, as they do in the Canvas Calendar.