Fixing timezones in scheduled reviews

I’m also have the very same issue Lukephos is having, except I’m using Brave.

The display of times in a specific timezone should match your browser settings. Your browser should inherit the timezone from your computer.

I use Firefox and I can confirm what the previous posters have said. My timezone is correct, but if I set privacy.resistFingerprinting to true on about:config and refresh the page, the review times are all wrong. This leads me to believe incorrect timezones are a result of a browser property (or a lack thereof).

Can you try running the JavaScript (generally, you shouldn’t run things from strangers on the internet, but I think you can work out what this does even if you’re not a programmer)


to see what it says? If I run this without privacy.resistFingerprinting enabled, I get


but if I enable it, I get


and that explains why my timings would be wrong.

WaniKani handles text related to timing with the local-time script (JavaScript). It’s been minified, but if you expand it, you can actually see that they anticipate some potential issues with timezones (the variable name knownEdgeCaseTimeZones has not been obfuscated, for example), which is why I’m curious. It does seem pretty standard, though, so I bet you’d see issues on other websites, too.

Edit: The local-time script that WaniKani uses is open source (it’s from Basecamp), so you’d almost certainly have issues with other websites’ time-related features as well.

I also seem to have this issue. While Intl.DateTimeFormat().resolvedOptions().timeZone) does indeed show the incorrect timezone as UTC, if you simply use new Date() you get the correct time including the timezone. Surely there are ways to get the correct time of scheduled reviews then.