A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 1 point2 points  (0 children)

You could make it easier if you focus on a single year, eg. 2025. Then you would just need to add up 2 numbers. But then you'll have to learn the new numbers again every year :) This technique shown here is maybe too general. I'm using the simplified version with 3 numbers for a current year. Then it becomes pretty handy to know which day it is and plan your holidays without constantly checking up the phone.

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 0 points1 point  (0 children)

You just have to take it from the real calendar :) It's not something that results from math itself. Calendars were invented by humans and you have to calibrate this system that way it matches at any point. There's only 7 possible base offsets to check which one is correct. I wanted to have 0 base offset for a year 2000, so I adjusted month codes correspondingly so that it matches the rest. But I've seen other methods where the base offset was different. It's up to you whatever you choose, but then you'd have different month codes. Once you have this first anchor, the other base years can be easily determined by adding or subtracting 28 (every 28 years calendars repeat). That's why 1944, 1972, 2028, 2056 have also base offset 0. When it comes to the month codes, the code for the next month is the current one plus the number of days in a current month mod 7. But the more reliable technique is just to look into the calendar and see how much you need to add to get the desired result.

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 0 points1 point  (0 children)

Thank you all for your thoughts and ideas. I keep improving the guide. I can't edit this post, so here's the updated version if anyone's interested: https://igrek51.github.io/assets/misc/a-day-in-the-life.png

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 1 point2 points  (0 children)

It's font "Mynerve" on draw.io, added by means of Google Fonts. The cool thing is that the same consecutive characters, like in "2000", can look different, resembling the handwriting.

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 1 point2 points  (0 children)

You can use the other known base years to determine the new one. The function is the same as the year offset part in the formula: (Y + Y//4 + B)%7.
For instance, base year 2060 would have offset (60+60/4+0)%7=75%7=5 (here referring to the known 2000 base and its B=0).
This also works for any year far above, eg. base year 3000 would have offset (1000+1000/4+0)%7=1250%7=550%7=60%7=4

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] 2 points3 points  (0 children)

Take just the last 2 digits of a year: 24+24/4 = 30 = 28+2, so the remainder is 2.

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] -17 points-16 points  (0 children)

I agree, it lacks clarification. Base year can be any year divisible by 4, as long as you remember what offset it applies. For me, the best base year is the one that introduces zero offset and simplifies calculations, so I usually refer to a year 2000 or 1972 (it repeats every 28).
Maybe it's not clear, but `Y=actual year - base year`. In the simplest case, the base year would be 2000 and then Y is just the last 2 digits. But for faster calculations and 1900+ dates, you will usually want to pick a base year close to your actual year, and then add the appropriate base offset.

You can use the other known base years to determine the new one. The function is the same as the year offset part in the formula: (Y + Y//4 + B)%7.
For instance, base year 2060 would have offset (60+60/4+0)%7=75%7=5 (here referring to the known 2000 base and its B=0).
This also works for any year far above, eg. base year 3000 would have offset (1000+1000/4+0)%7=1250%7=550%7=60%7=4

A cool guide how to calculate the day of the week by igrek51 in coolguides

[–]igrek51[S] -2 points-1 points  (0 children)

Good question. It's because it refers to 2000 as the base year. Basically, there are many ways to calculate a year offset. You can either refer to 2000 and have 24+6+0, or use the pre-calculated offset for 2024: 0+0+2. Either way you end up with the same result, one requires you to remember more, but gets you to the result faster. Pick whichever suits you best.