Dates & Durations

Date keywords, literals, arithmetic, and duration calculations.

From testdata/eval/success/features/dates.cm.

Date Keywords #

d1 = today
d2 = tomorrow
d3 = yesterday
Results
d1 = todaySaturday, March 14, 2026
d2 = tomorrowSunday, March 15, 2026
d3 = yesterdayFriday, March 13, 2026

Date Literals (Month Day) #

d4 = Dec 25
d5 = January 15
d6 = Jul 4
Results
d4 = Dec 25Friday, December 25, 2026
d5 = January 15Thursday, January 15, 2026
d6 = Jul 4Saturday, July 4, 2026

Date Literals (Month Day Year) #

d7 = Dec 25 2025
d8 = January 1 2026
d9 = Jul 4 2024
Results
d7 = Dec 25 2025Thursday, December 25, 2025
d8 = January 1 2026Thursday, January 1, 2026
d9 = Jul 4 2024Thursday, 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 week
Results
d10 = today + 2 daysMonday, March 16, 2026
d11 = tomorrow + 1 weekSunday, March 22, 2026
d12 = Dec 25 2025 + 7 daysThursday, January 1, 2026
d13 = today - 3 daysWednesday, March 11, 2026
d14 = yesterday - 1 weekFriday, March 6, 2026

Named Date References #

christmas = Dec 25 2025
new_year = christmas + 7 days
week_before = Dec 25 2025 - 1 week
Results
christmas = Dec 25 2025Thursday, December 25, 2025
new_year = christmas + 7 daysThursday, January 1, 2026
week_before = Dec 25 2025 - 1 weekThursday, December 18, 2025

Duration Literals #

dur1 = 2 days
dur2 = 3 weeks
dur3 = 1 hour
dur4 = 30 minutes
dur5 = 1 year
Results
dur1 = 2 days2 day
dur2 = 3 weeks3 week
dur3 = 1 hour1 hour
dur4 = 30 minutes30 minute
dur5 = 1 year1 year

Duration Arithmetic #

total_time = 2 weeks + 3 days
Results
total_time = 2 weeks + 3 days2.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 2025
Results
d15 = 2 days from todayMonday, March 16, 2026
d16 = 3 weeks from tomorrowSunday, April 5, 2026
d17 = 1 week from yesterdayFriday, March 20, 2026
d18 = 5 days from Dec 25 2025Tuesday, December 30, 2025
d19 = 1 month from todayMonday, April 13, 2026
d20 = 2 years from Jan 1 2025Friday, 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 Y syntax as an alternative to Y + X