Keybinding Note: This extension uses Emacs-style keybindings where Ctrl is used on all platforms (not Cmd on Mac), except where explicitly noted. Mac alternatives are shown as Cmd where applicable.

✅ Timestamps

Timestamps in Scimax VS Code allow you to associate dates and times with your content. They are essential for scheduling tasks, tracking deadlines, recording events, and managing time.

✅ Timestamp Types

Org-mode supports two types of timestamps that serve different purposes.

✅ Active Timestamps

Active timestamps appear in the agenda and are used for scheduling and events:

<2026-01-15 Wed>
<2026-01-15 Wed 14:30>

Active timestamps use angle brackets <...> and will:

  • Appear in agenda views

  • Show up in deadline warnings

  • Be included in time-based searches

  • Trigger reminders

✅ Inactive Timestamps

Inactive timestamps are for recording when something happened without agenda visibility:

[2026-01-15 Wed]
[2026-01-15 Wed 14:30]

Inactive timestamps use square brackets [...] and will:

  • NOT appear in the agenda

  • Be used for logging (CLOSED, state changes)

  • Record historical information

  • Document when notes were taken

✅ When to Use Each Type

Use CaseTypeExample
Schedule a taskActiveSCHEDULED: <2026-01-15 Wed>
Set a deadlineActiveDEADLINE: <2026-01-20 Mon>
Record appointmentActive<2026-01-18 Thu 14:00>
Log completion timeInactiveCLOSED: [2026-01-14 Tue 10:30]
Document when note was addedInactive[2026-01-14 Tue] Added notes...
Track state changeInactiveState "DONE" from "TODO" [...]

✅ Date and Time Formats

✅ Basic Date Format

The standard date format is YYYY-MM-DD Day:

<2026-01-15 Wed>
[2026-12-31 Thu]

The day of week is automatically calculated and included.

✅ Date with Time

Add time in 24-hour HH:MM format:

<2026-01-15 Wed 09:00>
<2026-01-15 Wed 14:30>
<2026-01-15 Wed 23:59>

✅ Time Only

You can specify just a time (assumes today):

<14:30>

✅ Supported Date Components

ComponentFormatExampleDescription
YearYYYY2026Four-digit year
MonthMM01Two-digit month (01-12)
DayDD15Two-digit day (01-31)
Day of weekDayWedThree-letter abbreviation
HourHH14Two-digit hour (00-23)
MinuteMM30Two-digit minute (00-59)

✅ Date and Time Ranges

✅ Date Ranges

Specify a range of dates with --:

<2026-01-15 Wed>--<2026-01-17 Fri>

This represents an event spanning multiple days, like a conference.

✅ Time Ranges

Specify a time range within a single day:

<2026-01-15 Wed 09:00-17:00>

This is useful for meetings or work sessions with defined start and end times.

✅ Time Range Examples

* Meeting with client
<2026-01-15 Wed 14:00-15:30>

* Conference attendance
<2026-03-10 Mon>--<2026-03-12 Wed>

* Office hours
<2026-01-15 Wed 10:00-12:00>

✅ Creating Timestamps

✅ Insert Timestamp Command

Key/CommandAction
C-c .Insert active timestamp
C-c ,Insert inactive timestamp
Speed key .Insert timestamp (at heading)

Press C-c . and a date picker dialog appears. You can:

  1. Type a date directly (2026-01-15)

  2. Use relative expressions (+2d, next week)

  3. Navigate with arrow keys

  4. Press Enter to confirm

✅ Date Entry Shortcuts

When entering a date, use these expressions:

ExpressionResult
+2dTwo days from now
-1wOne week ago
+3mThree months from now
todayToday's date
tomorrowTomorrow's date
mondayNext Monday
jan 15January 15 of current/next year
2026-01-15Specific date

✅ Adding Time to Timestamps

When prompted for a date, add time after the date:

2026-01-15 14:30

Or use 12-hour format with am/pm:

2026-01-15 2:30pm

✅ Quick Timestamp Insertion

For common cases:

* TODO Task
  <2026-01-15 Wed>         ; Press C-c .

* Meeting notes
  [2026-01-14 Tue 10:00]   ; Press C-c ,

✅ Modifying Timestamps

Adjusting Dates with Keyboard

Place cursor on a timestamp component and use:

KeyAction
S-Increase value (day, month, year)
S-Decrease value
S-Move to next day
S-Move to previous day

Component-Based Editing

The cursor position determines what changes. A cursor directly after a field also counts as on it, so with the cursor between 10 and - in <2026-10-19 Mon>, S- changes the month, as in Emacs.

<2026-01-15 Wed 14:30>
 ↑    ↑  ↑   ↑   ↑  ↑
 Year │  Day │   Hour │
      Month  │   Minute
            Day of week (read-only)
  • On year: S-/Down changes year

  • On month: S-/Down changes month

  • On day: S-/Down or S-/Right changes day

  • On hour: S-/Down changes hour

  • On minute: S-/Down changes minute

On a task's DEADLINE date, once you stop pressing, scimax offers to move the tasks that depend on it by the same number of days. See Moving a deadline.

✅ Quick Date Adjustment Examples

; Move meeting to tomorrow
<2026-01-15 Wed 14:30>
; Place cursor anywhere in date, press S-<right>
<2026-01-16 Thu 14:30>

; Postpone by one month
<2026-01-15 Wed>
; Place cursor on month (01), press S-<up>
<2026-02-15 Sat>

✅ Editing Timestamp Dialog

Press C-c . on an existing timestamp to open the editor and:

  • Modify the date

  • Add or remove time

  • Change between active/inactive

  • Add repeaters or warnings

✅ Repeating Timestamps

Repeaters make timestamps recur automatically, perfect for recurring tasks and events.

✅ Basic Repeater Syntax

Add a repeater after the date: +Nx where:

  • + is the repeater marker

  • N is a number

  • x is the unit (d, w, m, y)

<2026-01-15 Wed +1w>     ; Repeats weekly
<2026-01-15 Wed +2d>     ; Repeats every 2 days
<2026-01-01 Thu +1m>     ; Repeats monthly
<2026-01-15 Wed +1y>     ; Repeats yearly

✅ Repeater Units

UnitMeaningExampleNext Occurrence
dDay(s)+1dTomorrow
wWeek(s)+1wSame day next week
mMonth(s)+1mSame date next month
yYear(s)+1ySame date next year
hHour(s)+2hTwo hours later

✅ Repeater Behavior

When you mark a repeating task as DONE:

* TODO Weekly review
SCHEDULED: <2026-01-15 Wed +1w>

; After marking DONE:

* TODO Weekly review
SCHEDULED: <2026-01-22 Wed +1w>

The task automatically returns to TODO state with the next occurrence date.

✅ Repeater Type Modifiers

Three types of repeaters handle different scenarios:

✅ Standard Repeater (+)

Shifts from the original base date:

* TODO Staff meeting
SCHEDULED: <2026-01-15 Wed +1w>

If you complete it late (on Jan 20), it still schedules to Jan 22 (one week from original date).

✅ Catch-up Repeater (++)

Shifts from the completion date:

* TODO Exercise
SCHEDULED: <2026-01-15 Wed ++1d>

If you complete it late (on Jan 17), it schedules to Jan 18 (one day from when you completed it).

✅ Restart Repeater (.+)

For tasks that must happen a fixed interval after completion:

* TODO Water plants
SCHEDULED: <2026-01-15 Wed .+3d>

If you complete it on Jan 18, it schedules to Jan 21 (exactly 3 days later).

✅ Repeater Comparison

TypeSymbolSchedules fromUse Case
Standard+Original dateFixed appointments, meetings
Catch-up++Completion dateHabits, daily tasks
Restart.+Completion dateMaintenance, periodic tasks

✅ Repeater Examples

* TODO Daily standup meeting
SCHEDULED: <2026-01-15 Wed 09:00 +1d>
; Every workday at 9am

* TODO Monthly report
DEADLINE: <2026-01-31 Fri +1m>
; Due last day of each month

* TODO Backup server
SCHEDULED: <2026-01-15 Wed ++1w>
; Weekly, but adjust if done late

* TODO Change air filter
SCHEDULED: <2026-01-15 Wed .+90d>
; Every 90 days after actually changing it

* TODO Practice guitar
SCHEDULED: <2026-01-15 Wed ++1d>
; Daily practice, catch up if missed

✅ SCHEDULED and DEADLINE

Two special keywords attach timestamps to TODO items for planning.

✅ SCHEDULED Keyword

Indicates when you plan to START working on a task:

* TODO Write documentation
SCHEDULED: <2026-01-15 Wed>

✅ DEADLINE Keyword

Indicates when a task must be COMPLETED by:

* TODO Submit proposal
DEADLINE: <2026-01-20 Mon>

✅ Using Both Together

Tasks can have both:

* TODO Complete quarterly report
SCHEDULED: <2026-01-15 Wed>
DEADLINE: <2026-01-25 Sat>

Start working on Jan 15, must finish by Jan 25.

✅ Adding SCHEDULED and DEADLINE

Key/CommandAction
C-c C-sAdd/edit SCHEDULED
C-c C-dAdd/edit DEADLINE
Speed key sAdd/edit SCHEDULED
Speed key dAdd/edit DEADLINE
scimax.org.scheduleSchedule task
scimax.org.deadlineSet deadline

When you press one of these keys, you're prompted to enter a date using natural language. Simply type expressions like:

ExpressionResult
todayToday's date
tomorrowTomorrow's date
mondayNext Monday
+2dTwo days from now
+1wOne week from now
jan 15January 15 of current/next year
2026-01-15Specific ISO date

Position cursor on a TODO headline and press the keybinding or use speed commands at the beginning of a headline.

Moving the Date with the Keyboard in the Calendar Picker

The calendar picker that opens for SCHEDULED and DEADLINE highlights a day, starting at the heading's current date when it already has one (its DEADLINE for C-c C-d, its SCHEDULED for C-c C-s) and at today otherwise. The arrow keys move the highlight, and Enter picks the highlighted day. The view follows the highlight into the next or previous month.

Changing the date keeps the rest of the old timestamp: its time, repeater and warning period. Moving DEADLINE: <2026-11-05 Thu 10:00 +1w -2d> one day later gives DEADLINE: <2026-11-06 Fri 10:00 +1w -2d>.

KeyMoves the highlight to
Left / RightPrevious / next day
Up / DownPrevious / next week
Shift+Left / Shift+UpPrevious month
Shift+Right / Shift+DownNext month
EnterPicks the highlighted day

Month moves keep the day of the month and clamp it to the last day when needed, so January 31 moves to February 28 (or 29). The month arrows and the year and month buttons move the highlight the same way. The arrow keys move the highlight only while the text box is empty; once you type an expression they move the text cursor, and Enter parses the expression as before.

✅ SCHEDULED vs DEADLINE

AspectSCHEDULEDDEADLINE
MeaningWhen to STARTWhen to FINISH
AgendaShows starting this dayShows with warnings
Past datesAppears every day until doneShows days overdue
Use forPlanning, time-blockingHard deadlines, due dates

✅ Examples with Context

* TODO Review contract
SCHEDULED: <2026-01-15 Wed> DEADLINE: <2026-01-17 Fri>
Need to finish before weekend.

* TODO Weekly team meeting
SCHEDULED: <2026-02-13 Fri 10:00 +1w>
Recurring Thursday meeting.

* TODO File taxes
DEADLINE: <2026-04-15 Tue -7d>
Due April 15, start warning 7 days early.

✅ Warning Periods

An agenda view covers the window you pick (day, week, fortnight, month), and a deadline shows in it when its date falls inside the window; an overdue deadline always shows on today. A warning period extends this: a deadline with -2w also shows in any window that includes one of the two weeks before it is due. It is listed on today's line (or, for a window that does not include today, on its first warned day) as In N d.:, and on its own date if that is in the window too.

✅ Warning Period Syntax

Add -N and a unit to a deadline: d days, w weeks, m months, y years (or h hours):

DEADLINE: <2026-01-25 Sat -7d>

A week view that includes any day from January 18 on shows this deadline.

✅ No Default Warning Period

There is no default warning period (Emacs uses org-deadline-warning-days, 14 days). The window you choose already sets how far ahead you look, so a deadline without a warning appears only when its date is inside the window, or once it is overdue.

✅ Setting Custom Warnings

WarningMeaning
-3dWarn 3 days before
-1wWarn 1 week before
-2wWarn 2 weeks before
-1mWarn 1 month before
-0dSame as no warning

✅ Warning Period Examples

* TODO Renew driver's license
DEADLINE: <2026-06-30 Tue -30d>
; Start warning 30 days early

* TODO Submit conference paper
DEADLINE: <2026-02-15 Sun -14d>
; Two week warning

* TODO Pay rent
DEADLINE: <2026-02-01 Sun -0d>
; Only in a window that contains the day it's due

Warnings apply to deadlines. On a SCHEDULED timestamp, org-mode reads -7d as a delay (keep the item out of the agenda until 7 days after the scheduled date), not a warning. Scimax does not apply delays: a scheduled item shows on its scheduled date.

✅ Combining Repeaters and Warnings

You can use both repeaters and warnings:

* TODO Monthly expense report
DEADLINE: <2026-01-31 Fri +1m -3d>
; Due monthly, warn 3 days before

✅ Time Clocking

Track how much time you spend on tasks with clock entries.

✅ Clocking In and Out

Start and stop the clock for a task:

CommandKey BindingAction
scimax.org.clockInIClock in via speed command
scimax.org.clockOutOClock out via command

Click to clock in: Clock In Click to clock in: Clock Out

✅ Clock Entry Format

Clock entries are stored in the LOGBOOK drawer:

* TODO Write documentation
:LOGBOOK:
CLOCK: [2026-01-14 Tue 09:00]--[2026-01-14 Tue 10:30] =>  1:30
CLOCK: [2026-01-13 Mon 14:00]--[2026-01-13 Mon 16:00] =>  2:00
:END:

Format: CLOCK: [start]--[end] => duration

✅ Active Clock

When clocked in, the current clock has no end time:

* TODO Working on feature implementation
:LOGBOOK:
CLOCK: [2026-01-14 Tue 14:00]
CLOCK: [2026-01-14 Tue 09:00]--[2026-01-14 Tue 12:00] =>  3:00
:END:

The CLOCK: [2026-01-14 Tue 14:00] entry is the currently running clock.

✅ Clock Workflow Example

  1. Start working: #+BEGIN_SRC org ,* TODO Implement login feature :LOGBOOK: CLOCK: [2026-01-14 Tue 09:00] :END: #+END_SRC

  2. Take a break (clock out): #+BEGIN_SRC org ,* TODO Implement login feature :LOGBOOK: CLOCK: [2026-01-14 Tue 09:00]--[2026-01-14 Tue 11:00] => 2:00 :END: #+END_SRC

  3. Resume work (clock in again): #+BEGIN_SRC org ,* TODO Implement login feature :LOGBOOK: CLOCK: [2026-01-14 Tue 13:00] CLOCK: [2026-01-14 Tue 09:00]--[2026-01-14 Tue 11:00] => 2:00 :END: #+END_SRC

  4. Finish (clock out): #+BEGIN_SRC org ,* TODO Implement login feature :LOGBOOK: CLOCK: [2026-01-14 Tue 13:00]--[2026-01-14 Tue 15:30] => 2:30 CLOCK: [2026-01-14 Tue 09:00]--[2026-01-14 Tue 11:00] => 2:00 :END: #+END_SRC

Total time: 4:30 (2:00 + 2:30)

✅ Clock Reports

View time summaries:

CommandDescription
scimax.org.clockReportGenerate clock report
scimax.agenda.clockReportClock report in agenda

cmd:scimax.org.clockReport

cmd:scimax.agenda.clockReport

✅ Clock Table

SCHEDULED: <2026-01-17 Sat> DEADLINE: <2026-01-18 Sun>

Insert a dynamic table showing time spent:

HeadlineTime
** ✅ Clock Reports0:05
** ✅ Clock Table0:02
Total0:07

This creates a table like:

| Headline                  | Time   |
|---------------------------+--------|
| * TODO Project work       |  10:30 |
| ** Implement feature A    |   4:30 |
| ** Bug fixes              |   6:00 |

✅ The LOGBOOK Drawer

The LOGBOOK drawer stores time-tracking and state-change information.

✅ LOGBOOK Contents

The LOGBOOK can contain:

  1. Clock entries (CLOCK: lines)

  2. State change notes

  3. Other time-related metadata

✅ LOGBOOK Example

* DONE Review pull request
CLOSED: [2026-01-14 Tue 15:00]
:LOGBOOK:
- State "DONE"       from "TODO"       [2026-01-14 Tue 15:00]
  Approved all changes, ready to merge.
CLOCK: [2026-01-14 Tue 14:00]--[2026-01-14 Tue 15:00] =>  1:00
CLOCK: [2026-01-14 Tue 09:30]--[2026-01-14 Tue 10:00] =>  0:30
- State "TODO"       from "WAITING"    [2026-01-14 Tue 09:00]
  Developer finished addressing comments.
:END:

This shows:

  • Task completed at 15:00

  • State changed from TODO to DONE

  • Two work sessions: 1:00 and 0:30

  • Previous state change from WAITING to TODO

✅ LOGBOOK Benefits

  1. Complete history - See all work on a task

  2. Time accountability - Track actual time spent

  3. State audit trail - Understand task progression

  4. Billing records - For client work time tracking

✅ Creating LOGBOOK

The LOGBOOK drawer is created automatically when:

  • You clock in for the first time

  • State change logging is enabled

  • You manually add it

Manual LOGBOOK:

* TODO Task
:LOGBOOK:
:END:

✅ CLOSED Timestamps

When a task is marked DONE, a CLOSED timestamp is automatically added:

* DONE Complete documentation
CLOSED: [2026-01-14 Tue 16:30]

✅ CLOSED Properties

  • Always an inactive timestamp [...]

  • Records the exact completion time

  • Appears before the task content

  • Can be used to calculate completion statistics

✅ Diary Sexp Timestamps

Diary sexps (symbolic expressions) are a powerful feature for specifying complex date patterns that can't be expressed with simple repeaters.

✅ Diary Sexp Syntax

Diary sexps use the %%( ) syntax, optionally within angle brackets:

%%(diary-anniversary 1 20 1990) John's Birthday

%%(diary-anniversary 1 15 1990)
<%%((diary-float t 1 2))>

✅ Common Diary Functions

FunctionDescriptionExample
diary-anniversaryAnnual date (month day year)%%(diary-anniversary 3 15 1990)
diary-floatFloating day (month week day)%%(diary-float 11 4 4)
diary-cyclicEvery N days from a date%%(diary-cyclic 14 1 1 2026)
diary-blockDate range (m1 d1 y1 m2 d2 y2)%%(diary-block 6 1 2026 8 31 2026)
org-classRecurring class schedule%%(org-class 2026 1 15 2026 5 15 1)

✅ Diary Sexp Examples

✅ Annual Events (Birthdays, Anniversaries)

%%(diary-anniversary 3 15 1990) John's birthday (age %d)

%%(diary-anniversary 6 22 2010) Wedding anniversary (%d years)

The %d is replaced with the calculated age/years.

✅ Floating Holidays

Holidays that occur on "the Nth weekday of month":

%%(diary-float 11 4 4) Thanksgiving (4th Thursday of November)

%%(diary-float 5 0 2) Mother's Day (2nd Sunday of May)

%%(diary-float 1 1 3) MLK Day (3rd Monday of January)

Parameters: (month weekday occurrence)

  • weekday: 0Sunday, 1Monday, ... 6=Saturday

  • occurrence: 1first, 2second, -1=last, etc.

✅ Class Schedules

%%(org-class 2026 1 15 2026 5 15 1) Monday lecture (10:00-11:30)

%%(org-class 2026 1 15 2026 5 15 3) Wednesday lab (14:00-16:00)

Parameters: (start-year start-month start-day end-year end-month end-day weekday)

✅ Cyclic Events

Events that repeat every N days:

%%(diary-cyclic 14 1 1 2026) Bi-weekly team meeting

Parameters: (interval month day year) - repeats every 14 days from Jan 1, 2026.

✅ Block Dates (Date Ranges)

%%(diary-block 6 1 2026 8 31 2026) Summer break

Shows for all dates within the range (June 1 to August 31, 2026).

✅ When to Use Diary Sexps

Use diary sexps when simple repeaters (+1d, +1w, etc.) can't express your needs:

ScenarioSolution
"Every other Tuesday"%%(diary-cyclic 14 ...)
"Second Monday of each month"%%(diary-float t 1 2)
"Last Friday of each month"%%(diary-float t 5 -1)
"January 15 every year"%%(diary-anniversary 1 15 2000)
"Every weekday except holidays"Complex sexp with conditionals

✅ CLOSED with Other Timestamps

* DONE Write monthly report
CLOSED: [2026-01-14 Tue 16:30]
SCHEDULED: <2026-01-10 Fri>
DEADLINE: <2026-01-15 Wed>
:LOGBOOK:
CLOCK: [2026-01-14 Tue 14:00]--[2026-01-14 Tue 16:30] =>  2:30
:END:

Completed on time with 2.5 hours of work.

This shows:

  • Task was scheduled for Jan 10

  • Deadline was Jan 15

  • Actually completed Jan 14 at 16:30

  • Took 2.5 hours of actual work time

✅ Speed Commands for Timestamps

Speed commands provide quick access when cursor is at the beginning of a headline.

✅ Timestamp Speed Commands

KeyCommand
.Insert timestamp
sAdd/edit SCHEDULED
dAdd/edit DEADLINE
IClock in
OClock out

✅ Using Speed Commands

  1. Place cursor at the very start of a headline (before the *)

  2. Press the key

  3. Command executes immediately

* TODO Task                      ; <- cursor here
^
cursor position - press 's' to schedule

✅ Speed Command Example Workflow

* TODO Write documentation
  1. Cursor at start of headline

  2. Press s - schedule for tomorrow

  3. Press I - clock in

  4. Work on task...

  5. Press O - clock out

Result:

* TODO Write documentation
SCHEDULED: <2026-01-15 Wed>
:LOGBOOK:
CLOCK: [2026-01-14 Tue 10:00]--[2026-01-14 Tue 11:30] =>  1:30
:END:

✅ Timestamp Formats Summary

✅ Format Reference Table

FormatTypeExample
Active<2026-01-15 Wed>
[YYYY-MM-DD Day]Inactive[2026-01-15 Wed]
With time<2026-01-15 Wed 14:30>
Time range<2026-01-15 Wed 09:00-17:00>
--Date range<2026-01-15 Wed>--<2026-01-17 Fri>
Repeater<2026-01-15 Wed +1w>
Catch-up<2026-01-15 Wed ++1d>
Restart<2026-01-15 Wed .+30d>
Warning<2026-01-25 Sat -7d>
Both<2026-01-31 Fri +1m -3d>

✅ Repeater Units

UnitFull NameExampleIncrements by
hHour+2hHours
dDay+1dDays
wWeek+1wWeeks (7 days)
mMonth+1mMonths (same date)
yYear+1yYears (same date)

✅ Practical Examples

✅ Meeting Schedule

* TODO Weekly team sync
SCHEDULED: <2026-01-23 Fri 10:00 +1w>

Recurring every Thursday at 10am.

✅ Project with Multiple Timestamps

* TODO Q1 Planning Document
SCHEDULED: <2026-01-15 Wed> DEADLINE: <2026-01-31 Fri -7d>
:PROPERTIES:
:EFFORT: 8:00
:END:
:LOGBOOK:
CLOCK: [2026-01-14 Tue 14:00]--[2026-01-14 Tue 16:30] =>  2:30
CLOCK: [2026-01-13 Mon 09:00]--[2026-01-13 Mon 11:00] =>  2:00
:END:

Start Jan 15, due Jan 31 (warn 7 days early).
Estimated 8 hours, 4.5 hours logged so far.

✅ Recurring Maintenance Task

* TODO Update dependencies
SCHEDULED: <2026-01-15 Wed .+14d>

Update npm packages every 2 weeks after completion.

✅ Event with Time Range

* Conference keynote speech
<2026-03-15 Sun 09:00-10:30>

Opening keynote at tech conference.

✅ Multi-day Event

* Annual company retreat
<2026-06-10 Wed>--<2026-06-12 Fri>

Three-day offsite in Lake Tahoe.

✅ Task with Complete History

* DONE Implement user authentication
CLOSED: [2026-01-14 Tue 17:00]
SCHEDULED: <2026-01-10 Fri>
DEADLINE: <2026-01-15 Wed>
:PROPERTIES:
:EFFORT: 6:00
:END:
:LOGBOOK:
- State "DONE"       from "TODO"       [2026-01-14 Tue 17:00]
  All tests passing, ready for review.
CLOCK: [2026-01-14 Tue 14:00]--[2026-01-14 Tue 17:00] =>  3:00
CLOCK: [2026-01-13 Mon 10:00]--[2026-01-13 Mon 12:30] =>  2:30
CLOCK: [2026-01-11 Sat 15:00]--[2026-01-11 Sat 16:00] =>  1:00
- State "TODO"       from "WAITING"    [2026-01-11 Sat 14:30]
  Design approved, starting implementation.
:END:

Completed on time. Estimated 6:00, actual 6:30.

✅ Timestamp Best Practices

✅ When to Use Active vs Inactive

Use active timestamps when:

  • Scheduling tasks to work on

  • Setting deadlines

  • Planning appointments or events

  • You want it to appear in the agenda

Use inactive timestamps when:

  • Recording when something happened

  • Documenting note-taking time

  • Logging state changes

  • You DON'T want it in the agenda

✅ Choosing Repeater Types

ScenarioRepeater TypeExample
Fixed appointment+Team meeting every Monday
Daily habit++Morning exercise
Maintenance after completion.+Change oil 90 days after
Regular review+Monthly report last Friday
Medication++Take daily after waking

✅ Time Tracking Tips

  1. Clock in when starting - Build the habit immediately

  2. Clock out when stopping - Even for short breaks

  3. Review clock reports - Weekly time analysis

  4. Compare estimate vs actual - Improve future estimates

  5. Use LOGBOOK for notes - Document blockers or issues

✅ Scheduling Strategies

; Don't over-schedule
* TODO Ambiguous big task
SCHEDULED: <2026-01-15 Wed>
; Too vague, will cause procrastination

; Instead: Break down with specific times
* TODO Project: Website Redesign
** TODO Design mockups [1:30]
SCHEDULED: <2026-01-15 Wed 09:00>
** TODO Review with stakeholders [0:45]
SCHEDULED: <2026-01-15 Wed 14:00>
** TODO Implement changes [3:00]
SCHEDULED: <2026-01-16 Thu 09:00>

✅ Warning Period Guidelines

Task TypeSuggested WarningReason
Daily task-0dShow only on day
Weekly deadline-2d2 day heads up
Monthly deadline-1wOne week notice
Quarterly deadline-2wTwo week preparation
Annual deadline-1mOne month advance notice
Critical deadline-30dVery early warning

✅ Common Patterns

✅ Weekly Review

* TODO Weekly review
SCHEDULED: <2026-01-26 Mon 18:00 +1w>

Review accomplishments, plan next week.

✅ Birthday Reminders

* John's birthday
<2026-03-15 Sun +1y -7d>

Annual reminder, warn 7 days early.

✅ Bill Payments

* TODO Pay electricity bill
DEADLINE: <2026-01-31 Fri +1m -3d>

Due monthly on last day, 3 day warning.

✅ Exercise Habit

* TODO Morning workout
SCHEDULED: <2026-01-18 Sun 07:00 ++1d>

Daily exercise, catch up if missed day.

✅ Car Maintenance

* TODO Oil change
SCHEDULED: <2026-01-20 Mon .+90d>

Every 90 days after previous change.

✅ Project Phases

* TODO Project: Mobile App Launch
** DONE Research phase
CLOSED: [2026-01-05 Sun 14:00] SCHEDULED: <2026-01-01 Wed> DEADLINE: <2026-01-05 Sun>

** TODO Design phase
SCHEDULED: <2026-01-06 Mon> DEADLINE: <2026-01-19 Sun>

** TODO Development phase
SCHEDULED: <2026-01-20 Mon> DEADLINE: <2026-03-15 Sun>

** TODO Testing phase
SCHEDULED: <2026-03-16 Mon> DEADLINE: <2026-03-31 Mon>

✅ Integration with TODO Items

Timestamps work seamlessly with TODO items. See TODO Items for more on task management.

✅ Scheduled TODOs

* TODO [#A] Finish proposal
SCHEDULED: <2026-01-15 Wed>
:PROPERTIES:
:EFFORT: 3:00
:END:

High priority task scheduled for tomorrow.

✅ Deadline Warnings in Agenda

Tasks with approaching deadlines appear in the agenda with warning indicators. See Agenda for details on agenda views.

✅ Combining All Features

* TODO [#A] Quarterly report                              :work:report:
SCHEDULED: <2026-01-20 Mon> DEADLINE: <2026-01-31 Fri -7d>
:PROPERTIES:
:EFFORT: 12:00
:CATEGORY: Reports
:END:
:LOGBOOK:
CLOCK: [2026-01-14 Tue 14:00]--[2026-01-14 Tue 16:30] =>  2:30
:END:

Due end of month with 7-day warning.
Priority A, work context, 12 hour estimate.
Already logged 2:30 hours.

✅ Quick Reference

✅ Keybindings

KeyAction
C-c .Insert active timestamp
C-c ,Insert inactive timestamp
S-Increase timestamp component
S-Decrease timestamp component
S-Next day
S-Previous day

✅ Speed Commands (at heading start)

KeyAction
.Insert timestamp
sSchedule task
dSet deadline
IClock in
OClock out

✅ Commands

CommandDescription
scimax.org.insertTimestampInsert timestamp
scimax.org.scheduleAdd SCHEDULED timestamp
scimax.org.deadlineAdd DEADLINE timestamp
scimax.org.clockInStart time tracking
scimax.org.clockOutStop time tracking
scimax.org.clockReportGenerate time report

✅ Timestamp Format Quick Reference

<2026-01-15 Wed>                    Active date
[2026-01-15 Wed]                    Inactive date
<2026-01-15 Wed 14:30>              With time
<2026-01-15 Wed 09:00-17:00>        Time range
<2026-01-15 Wed>--<2026-01-17 Fri>  Date range

<2026-01-15 Wed +1w>                Weekly repeater
<2026-01-15 Wed ++1d>               Daily catch-up
<2026-01-15 Wed .+30d>              30-day restart
<2026-01-25 Sat -7d>                7-day warning

Navigation