Why can’t it tell what weekday a date falls on?
Date arithmetic in LLMs: a date never contains its weekday, which must be computed (days from a known day, mod 7, with leap years); the model gets the date as token fragments and writes a likely weekday instead of doing the sum, has no clock so it cannot know today unless told, and has seen least about recent dates; telling it the date, making it compute with code or a calendar tool, and checking a calendar help · Beginner · 5 min · tokens, llm · after Arithmetic in LLMs: digits cut into tokens, answers written left to right, Knowledge cutoff: training data stops at a date
A chatbot often names the wrong weekday because a date does not contain it: it must be counted from a known day, mod 7, with leap years. The model writes a likely word instead, and it has no clock.
1 Guess first
2 Look
A weekday is worked out, not read
1 / 7- 2026-10-246 tokens
- 24/10/20266 tokens
- 24October20265 tokens
- 202610243 tokens
Weekday in any of them: none. It is Saturday, but only a calculation can tell.
tokens: o200k_base (GPT-4o’s tokenizer), tiktoken 0.14.0, measured 2026-10-24
One date, four spellings, as the model gets them. “2026” arrives as “202” + “6”. The weekday is in none of them: it has to be worked out.
A date never says its weekday. It has to be counted: days from a known day, whole weeks thrown away, leap days included. The model writes a likely word instead.
A chatbot writes the next likely piece of text. After “24 October 2026 is a”, “Friday” and “Saturday” both look likely: it has read plenty of dates with weekdays, but this sum, for this date, it has to do now. If it does not write the counting out, step by step or in code, the weekday is a guess.
4 You are the model
You are the chatbot, with no calendar. Two rounds: count from a weekday you are given to a new date. Then one more question.
Round 1 of 3. No calendar allowed.
1 January 2026 was a Thursday. What weekday is 1 March 2026? (January has 31 days; February 2026 has 28.)
answers checked by code against the Gregorian calendar
You are the chatbot. Work it out, then pick; the calendar checks it.5 Check
The numbers back it up. In Test of Time, GPT-4 got 76.3% of add-some-days questions right but only 16.0% of days-between-two-dates. Shown a picture of the whole year’s calendar, GPT-4o named the right weekday 43.3% of the time; o1, which reasons step by step before answering, 80.0%.
What helps: tell it today’s date, so it has a day to count from. Make it compute: ask it to work the date out with code or a calendar tool; in SPAN (2025), GPT-4o went from 43.0% to 95.3% that way. And check a calendar for any date that matters.
8 Say it back
9 Mission · 5 min
In ChatGPT Free, ask: “What weekday is 1 January 2100?” Note the answer. Then ask: “Work it out with code and show the code.” Check both against your phone’s calendar: which one was right?
Three quick ones
Drawn at random from this lesson's pool; different next time.
Done?
Get an email when new lessons come out
New lessons arrive in the weekly digest, only in a week that has one. You confirm by email first; unsubscribe in one click.
Go deeper
- Test of Time: A Benchmark for Evaluating LLMs on Temporal Reasoning (Fatemi et al., 2024)
- Date Fragments: A Hidden Bottleneck of Tokenization for Temporal Reasoning (Bhatia, Peyrard and Zhao, 2025)
- Lost in Time: Clock and Calendar Understanding Challenges in Multimodal LLMs (Saxena, Gema and Minervini, 2025)
Sources
- Fatemi, Kazemi, Tsitsulin, Malkan, Yim, Palowitch, Seo, Halcrow and Perozzi, “Test of Time: A Benchmark for Evaluating LLMs on Temporal Reasoning” (arXiv:2406.09170 v1, 2024-06-13, https://arxiv.org/abs/2406.09170, checked 2026-10-24): ToT-Arithmetic, 1,850 questions (350 AddSubtract, 350 Compare, 200 Duration, 250 Schedule, 100 Timezone, 250 Trick, 350 MultiOp). Table 8, accuracy Claude-3-Sonnet / GPT-4 / Gemini 1.5 Pro: AddSubtract 58.57/76.28/71.14, Compare 39.14/63.14/55.43, Duration 15.00/16.00/13.50, Schedule 29.60/43.60/40.00, Timezone 74.00/88.00/90.00, Trick 40.40/45.60/41.20, MultiOp 26.57/46.86/62.57. §4.4: “the most common error among incorrect answers was a deviation of precisely one day from the ground truth label”; “Common failure: leap year calculation”. Table 2 Duration example quoted in the predict step
- Saxena, Gema and Minervini, “Lost in Time: Clock and Calendar Understanding Challenges in Multimodal LLMs” (arXiv:2502.05092 v2, 2025-03-18, https://arxiv.org/abs/2502.05092, checked 2026-10-24): CalendarQA, a full-year calendar image and a weekday question, 10 years × 6 questions. Table 1, Calendar Acc: Llama 3.2-Vision 11.67, Qwen2-VL-7B 18.33, MiniCPM-V-2.6 20.0, Gemini-2.0 31.67, GPT-4o 43.33, Claude-3-5-sonnet 46.67, GPT-o1 80.0
- Miao, Fu and Wei, “SPAN: Benchmarking and Improving Cross-Calendar Temporal Reasoning of Large Language Models” (arXiv:2511.09993 v2, 2026-01-09, https://arxiv.org/abs/2511.09993, checked 2026-10-24): calendar questions across six calendars, evaluation dates 1960–2060. Figure 6 and §Results, average accuracy: Time Agent (GPT-4o writing code that a code interpreter runs, with a calendar-conversion tool) 95.31%, OpenAI-o1 59.29%, GPT-4o w/ RAG (Bing search) 43.69%, GPT-4o 43.01%. Abstract: “these LLMs achieve an average accuracy of only 34.5%”; “Future-Date Degradation”
- Bhatia, Peyrard and Zhao, “Date Fragments: A Hidden Bottleneck of Tokenisation for Temporal Reasoning” (arXiv:2505.16088 v3, 2025-09-24, https://arxiv.org/abs/2505.16088, checked 2026-10-24): BPE tokenisers split dates into fragments; “excessive fragmentation correlates with accuracy drops of up to 10 points on uncommon dates like historical and futuristic dates”; Table 3, date arithmetic accuracy GPT-4o-mini 56.67
- Cheng, Marone, Weller, Lawrie, Khashabi and Van Durme, “Dated Data: Tracing Knowledge Cutoffs in Large Language Models” (arXiv:2403.12958 v2, 2024-09-17, https://arxiv.org/abs/2403.12958, checked 2026-10-24): “effective cutoffs often drastically differ from reported cutoffs”; one reason: “temporal misalignments of CommonCrawl data due to non-trivial amounts of old data in new dumps”
- Tokens measured 2026-10-24 with tiktoken 0.14.0, encoding o200k_base (GPT-4o): “2026-10-24” 6 [1323, 21, 12, 702, 12, 1494] = “202” “6” “-” “10” “-” “24”; “24/10/2026” 6 = “24” “/” “10” “/” “202” “6”; “24 October 2026” 5 = “24” “ October” “ ” “202” “6”; “20261024” 3 = “202” “610” “24”
- Every weekday in the lesson is computed by code (JavaScript Date, Gregorian calendar, UTC) and checked by its unit test: Thursday 1 January 2026, Sunday 1 March 2026, Saturday 24 October 2026, Friday 25 December 2026, Wednesday 28 February 2024, Friday 1 March 2024, Friday 1 January 2100; 24 October 2023–2030: Tuesday, Thursday, Friday, Saturday, Sunday, Tuesday, Wednesday, Thursday
- The “today” chat, the role’s rounds, the mission prompt and the habit wording are illustrative, written for this lesson on 2026-10-24; the date sums in them are checked by code
- aifree.dev catalog, chatgpt-free (verified 2026-10-12, live check 2026-10-24): ChatGPT Free Plan
- Calendar arithmetic in the text (Gregorian calendar, checked by the lesson’s unit test): 1 January to 24 October 2026 is 296 days = 7 × 42 + 2; a year of 365 days is 52 weeks and 1 day, a leap year of 366 days 52 weeks and 2 days; October has 31 days; 2000 divides by 400, so it kept its 29 February; a random weekday is right one time in seven, 14.3%. “When William was 400 days old” is the Test of Time Duration example (Table 2) quoted in the predict step
Published Oct 24, 2026 · updated Oct 26, 2026