Groupi Date Language (GDL)
A shorthand syntax for quickly entering complex date and time options. Type GDL directly into the date input field — it'll be detected automatically.
Symbols
@At — Attach time to a day or date
-Span — Event from start to end time
^Duration — Duration from start (e.g., ^3h, ^90m)
+Combine — Union of multiple entries
[ ]List — Specific items: [Tu,Th] or [18,19,20]
( )Range — Expand start to end: (Mo,Fr) or (18,22)
*Repeat — Recurrence count: Tu*3 = next 3 Tuesdays
" "Note — Attach a label: "dinner"
Day Abbreviations
Mo = MondayTu = TuesdayWe = WednesdayTh = ThursdayFr = FridaySa = SaturdaySu = SundayTime Format
GDL uses 24-hour time by default. @14 = 2 PM, @0 = midnight.
You can also use am/pm: @6pm = @18
Minutes with a colon: @14:30 = 2:30 PM
Lists vs Ranges vs Spans
[ ]List — exactly these items.
Fr@[18,20,22] = 6 PM, 8 PM, 10 PM( )Range — every step between two endpoints.
Fr@(18,22) = 6, 7, 8, 9, 10 PM. Optional third item sets step size: Fr@(18,22,2) = 6, 8, 10 PMa-bSpan — one event with a start and end.
Fr@18-22 = 6 PM to 10 PMExamples
Basics
Fr@19Friday at 7 PMSaSaturday, all dayTu@14-16Tuesday 2–4 PMFr@6pmFriday at 6 PMFr@22^3hFriday 10 PM – 1 AM (3 hours)Lists
[Tu,Th]@18-20Tue and Thu, 6–8 PM (2 options)Fr@[18,19,20]Friday at 6, 7, or 8 PM (3 options)[Tu,Th]@[18,19]Tue at 6, 7 + Thu at 6, 7 (4 options)Ranges
(Mo,Fr)@9-17Mon through Fri, 9–5 (5 options)Fr@(18,20)Friday at 6, 7, 8 PM (3 options)Recurrence
Tu*3@14Next 3 Tuesdays at 2 PM[Tu*2,Th*3]@14Next 2 Tue + 3 Thu at 2 PM (5 options)Dates
08/10@14-17August 10, 2–5 PM(10,15)@6pm10th–15th of month at 6 PM (6 options)Stepped Ranges
Fr@(18,22,2)Friday at 6, 8, 10 PM (3 options)Fr@7^(2h,4h)7–9, 7–10, 7–11 AM (3 duration options)(10,20,5)@1810th, 15th, 20th at 6 PM (3 options)Combining
Tu*3@10 + Fr@18-203 Tuesdays at 10 AM + Friday 6–8 PMNotes
Fr@19 "dinner"Friday 7 PM with note "dinner"Advanced
Fr@[13,14]-[17,18]4 span options (start × end)Fr@[18,19,20]^2h6–8, 7–9, 8–10 PM (3 spans)Tips
- If end time is before start, it wraps to the next day:
Fr@21-2= 9 PM to 2 AM - Use
^for duration:Fr@22^4h= 10 PM for 4 hours - Lists and ranges cross-multiply:
[Tu,Th]@[18,19]= 4 options - Maximum 20 date options per expression
- Combine with
+for independent groups