Hacker News — AI on Front Page · · 1 min read

A faster way to calculate the day of the week

Mirrored from Hacker News — AI on Front Page for archival readability. Support the source by reading on the original site.

221 pts · 58 comments on Hacker News

A faster way to calculate the day of the week

A range of fast modulus techniques that beat compiler output

17 August 2026

Converting a day-count ("rata-die") to the day-of-the-week (“weekday”) sounds like it should be so trivial, that there's almost nothing to say about it. But, as it turns out, when we look under the hood, this is a surprisingly complex problem.

Throughout this article I will present a range of really fast functions to solve this problem, tuned for different use cases (throughput vs latency, different platforms etc.). Each (full range 32-bit algorithm) outperforms existing solutions, and many have a latency of just a single multiplication plus two cycles. A surprising result is presented: the weekday can be computed in ISO format ([1‥7] instead of [0‥6]), with the exact same instructions, just with tweaked constants (and zero speed penalty).

To give you a taste of the insanity, I'll highlight my favourite function here, this crazy looking 3-instruction sequence (plus a constant load) is accurate over the full signed 32-bit range (it may not be the lowest latency one, but has the highest throughput for x86):

Unix Weekday [0‥6] ISO Weekday [1‥7]

Discussion (0)

Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.

Sign in →

No comments yet. Sign in and be the first to say something.

More from Hacker News — AI on Front Page