CalcTime Help

Syntax reference & examples for the time-tracking calculator

← Back to CalcTime

🕐 Basic Time Format

Times are written as MM:SS or HH:MM:SS. The app scans all text and sums every time it finds.

Podcast Episode #42 (25:30)
Video Title (1:12:45)

Both times above are detected and added to the total. Any surrounding text is ignored — only the time patterns matter.

Negative (Subtracted) Times

Wrap a time in curly braces {…} to subtract it from the total. Useful for marking skipped sections, ads, or corrections.

Full Episode (45:00) {3:30}   → Total: 41:30
Podcast (60:00) {5:00} {2:30}  → Total: 52:30

You can use as many negative times as you need on a single line.

🎙️ Feed Lines (Speed Adjustment)

Lines that start with - and contain : (colon + space) are treated as feed lines. You can optionally specify a playback speed before the colon.

# Default speed (1.0x) — no adjustment:
- My Podcast: #42 (30:00)

# With speed factor — total time on this line is divided by 1.2:
- My Podcast @ 1.2x: #42 (30:00)   → counts as 25:00

# Multiple episodes on one line, all at the same speed:
- CIJapanese @ 1.2x: #39 (6:06), #1273 (7:19), #1186 (6:04)
→ Raw total: 19:29 → divided by 1.2 → 16:14

The speed factor is written as @ 1.2x (the x is optional). If no speed is given, it defaults to 1.0 (no adjustment).

💡 Tip: This feature is designed for podcast feeds where you listen to many episodes at the same adjusted speed. Instead of manually calculating each episode's adjusted time, just log the raw times and let the app divide by your speed factor.

📝 Non-Feed Lines

Any line that doesn't match the feed-line pattern (i.e., doesn't start with - and contain : ) is treated as plain text. All times, negative times, and RPN expressions on the line are simply summed at face value.

# YouTube videos — just write the title and time:
- Channel Name: Video Title (17:41)
- Another Channel: Some Video (11:36)

# Or use a dash-free format:
YouTube: Video Title (17:41)
Movies: The Wind Rises (90:00)

There's no required format — the app is free-form. Use whatever structure helps you stay organized.

⚙️ RPN Expressions (Advanced Math)

It's unlikely that you'll need this advanced feature, but text between angle brackets ‹…› is evaluated as a Reverse Polish Notation (RPN) expression. This lets you do math on times right in your log.

Available operators:

OperatorMeaningExampleResult
+Addition‹3:00 2:00 +›5:00
-Subtraction‹10:00 3:30 -›6:30
x or *Multiplication‹3:00 3 x›9:00
/ or ÷ or @Division‹10:00 2 /›5:00
%Percentage‹60:00 80 %›48:00
negNegate top of stack‹3:00 neg›-3:00

How RPN works: You write values first, then the operator. Values are pushed onto a stack. An operator pops the last two values, applies the operation, and pushes the result back.

More examples:

# Multiply a time by 1.5 (50% speed):
‹30:00 1.5 x›          → 45:00

# Add two times, then take 80%:
‹3:00 2:00 + 80 %›     → 4:00

# Divide a time by a speed factor:
‹3:00 1.2 /›           → 2:30

# Subtract from a total:
{‹10:00 3:00 -›}       → -7:00 (subtracted from total)

You can mix plain numbers and times freely in RPN expressions. The result is always rounded to the nearest second.

⌨️ Typing the RPN brackets: The angle brackets and are not the standard < and > keys. On macOS, type Option+Shift+3 for and Option+Shift+4 for . On other operating systems, you can copy and paste these characters from a reference (like this page) or use a character map. These unusual characters were chosen because they rarely appear in everyday text, so they won't conflict with your notes.

📋 Real-World Examples

Daily log with podcasts and YouTube:

Podcasts
- Advanced Spanish News: #486 (7:20)
- Charlas Hispanas: #1637 (8:00)
- Economía en Acción: #150 (31:34)
- Hoy Hablamos: #1136 (22:07)

YouTube
- Dot CSV: ¿Puede la IA Generar NUEVO CONOCIMIENTO? (17:41)
- Soy Mary Inversionista: Tutorial LEVEL 2 (14:47)
- Pol Bertran: LA TEORÍA DEL INTERNET MUERTO (21:38)

Other
- Spanish Club: (60:00)
- Movies: The Wind Rises (2:03:00)

Podcast feed with speed adjustment:

Podcasts
- CIJapanese @ 1.2x: #39 (6:06), #1273 (7:19), #1186 (6:04)
- Sakura Tips @ 1.3x: #13 (5:14)

YouTube
- Daily Japanese with Naoko: Taste Testing 6 Popular Foods (17:21)
- いろいろな日本語: Yotsuba #2 (28:00)

Using negative times and RPN:

Podcast (60:00) {5:00}           # 5 min of ads skipped
‹30:00 1.5 x›                    # 45 min at 1.5x speed
{‹10:00 3:00 -›}                 # Subtract 7:00

💡 Tips & Notes