Dates & Durations
Date keywords, literals, arithmetic, and duration calculations.
From testdata/eval/success/features/dates.cm.
Date Keywords #
d1 = today
d2 = tomorrow
d3 = yesterdayResults
| d1 = today | → | Saturday, March 14, 2026 |
| d2 = tomorrow | → | Sunday, March 15, 2026 |
| d3 = yesterday | → | Friday, March 13, 2026 |
Date Literals (Month Day) #
d4 = Dec 25
d5 = January 15
d6 = Jul 4Results
| d4 = Dec 25 | → | Friday, December 25, 2026 |
| d5 = January 15 | → | Thursday, January 15, 2026 |
| d6 = Jul 4 | → | Saturday, July 4, 2026 |
Date Literals (Month Day Year) #
d7 = Dec 25 2025
d8 = January 1 2026
d9 = Jul 4 2024Results
| d7 = Dec 25 2025 | → | Thursday, December 25, 2025 |
| d8 = January 1 2026 | → | Thursday, January 1, 2026 |
| d9 = Jul 4 2024 | → | Thursday, July 4, 2024 |
Date Arithmetic #
d10 = today + 2 days
d11 = tomorrow + 1 week
d12 = Dec 25 2025 + 7 days
d13 = today - 3 days
d14 = yesterday - 1 weekResults
| d10 = today + 2 days | → | Monday, March 16, 2026 |
| d11 = tomorrow + 1 week | → | Sunday, March 22, 2026 |
| d12 = Dec 25 2025 + 7 days | → | Thursday, January 1, 2026 |
| d13 = today - 3 days | → | Wednesday, March 11, 2026 |
| d14 = yesterday - 1 week | → | Friday, March 6, 2026 |
Named Date References #
christmas = Dec 25 2025
new_year = christmas + 7 days
week_before = Dec 25 2025 - 1 weekResults
| christmas = Dec 25 2025 | → | Thursday, December 25, 2025 |
| new_year = christmas + 7 days | → | Thursday, January 1, 2026 |
| week_before = Dec 25 2025 - 1 week | → | Thursday, December 18, 2025 |
Duration Literals #
dur1 = 2 days
dur2 = 3 weeks
dur3 = 1 hour
dur4 = 30 minutes
dur5 = 1 yearResults
| dur1 = 2 days | → | 2 day |
| dur2 = 3 weeks | → | 3 week |
| dur3 = 1 hour | → | 1 hour |
| dur4 = 30 minutes | → | 30 minute |
| dur5 = 1 year | → | 1 year |
Duration Arithmetic #
total_time = 2 weeks + 3 daysResults
| total_time = 2 weeks + 3 days | → | 2.43 week |
“X from Y” Syntax #
d15 = 2 days from today
d16 = 3 weeks from tomorrow
d17 = 1 week from yesterday
d18 = 5 days from Dec 25 2025
d19 = 1 month from today
d20 = 2 years from Jan 1 2025Results
| d15 = 2 days from today | → | Monday, March 16, 2026 |
| d16 = 3 weeks from tomorrow | → | Sunday, April 5, 2026 |
| d17 = 1 week from yesterday | → | Friday, March 20, 2026 |
| d18 = 5 days from Dec 25 2025 | → | Tuesday, December 30, 2025 |
| d19 = 1 month from today | → | Monday, April 13, 2026 |
| d20 = 2 years from Jan 1 2025 | → | Friday, January 1, 2027 |
What This Demonstrates #
- Built-in date keywords:
today,tomorrow,yesterday - Date literals with month names (abbreviated or full)
- Date + duration arithmetic
- Named date variables in expressions
- Duration literals with various time units
X from Ysyntax as an alternative toY + X