Statistics ignore DST when handling day start

I recently noticed that a day counted as not reviewed in my stats:

The missing day correspond to 2023-10-11. We can already notice the unusually high number of reviews on the days before and after, which do not correspond to added cards. When looking at the full history, I found another missing day, on 2023-08-02.

With an SQL query, I can check that I did do reviews on these days, just particularly early and completed them between 4am and 5am local time. Note that the times shown here are UTC, and I was in UTC+0200 at the time. This matches the fact that I use the default setting for next day start of 4am.



Changing the next day start to 3am fixes the discrepancy:

Coincidentally, France switched from DST UTC+0200 to regular UTC+0100 on October 29th. So it is highly likely that Anki is using the current time offset on the full period instead of using the appropriate offset of the given time.

I personally know how painful it is to handle DST (and other time offset changes) with time-series. Handling this properly while keeping the query efficient requires some finicky logic. And this is clearly not a critical bug. However, it might be useful to open an issue on GitHub to track this and make it more discoverable.

Note: I first noticed this issue on AnkiDroid, but it happens on Aki Desktop as well.

You’re welcome to report it on GitHub, but as you mentioned, it may be tricky to solve in an efficient way.

Thanks, done! #2801

It might be useful if other people encounter the same issue, so I have included some keywords they might look for.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.