Awesome! So great that you’ve built something and have real users! I hate the way people tend to rail against prodigious young people but it sounds like you have the right attitude toward their septic scepticism. :)
I found the best way to handle the messy situation was to convert all times to Universal Coordinated Time (UTC). Then all I had to do was store the UTC offset (UTC +/-) alongside the students’ class ending times, to make sure everything lined up.
I had similar problems once upon a time, and solved it by storing times in UTC and the users’ timezones. PHP (in my case) handled the conversion between timezones and automatically takes into account Daylight Savings Times. Simple addition/subtraction of offsets won’t take that into account and you might run into problems.