Epoch is the precision time formatting engine that transforms raw moments into structured, human-readable timestamps. Every specifier. Every timezone. Every standard. One command.
TRUSTED BY TEAMS SHIPPING TIME-CRITICAL INFRASTRUCTURE
Eight precision instruments for capturing and expressing time in any representation you need.
Compose any output with +FORMAT syntax. Combine %Y, %m,
%d, %H, %M, %S and 30+ other specifiers into
exactly the timestamp you need.
epoch +"%Y-%m-%d %H:%M:%S"
The %N specifier delivers sub-second resolution down to the nanosecond. Capture
%s epoch seconds paired with %N for timestamps that miss nothing.
epoch +"%s.%N"
The -d flag accepts human-readable date strings โ "next Friday", "2 weeks ago",
"yesterday 3pm". Parse anything. Format everything.
epoch -d "next Thursday"
One flag, standards-compliant output. -I renders ISO 8601 with configurable
precision โ date only, hours, minutes, seconds, or nanoseconds.
epoch -I seconds
Email-ready timestamps with -R. Database-ready strings with --rfc-3339.
Two flags, two standards, zero ambiguity.
epoch -R
The -u flag strips timezone complexity away. Coordinated Universal Time, always. No
DST surprises. No locale drift. Just UTC.
epoch -u +"%T %Z"
Use -r to extract the last modification time of any file. Turn filesystem metadata
into formatted, pipeline-ready output.
epoch -r /etc/passwd
Extract any temporal component โ %A weekday, %B month, %j
day of year, %u day of week, %Z timezone. Slice time into atoms.
epoch +"%A, %B %d (%j)"
Four steps between raw system time and the exact string representation your pipeline needs.
Epoch reads the system clock, parses a -d string, or extracts a file's modification
time with -r. One moment, precisely captured.
Resolve to local time by default, or force UTC with -u. Set TZ for any
timezone on earth. Zero ambiguity about which moment you mean.
Your +FORMAT string is parsed and each specifier โ %Y, %H,
%N, and 30+ more โ is resolved against the captured moment.
The formatted timestamp hits stdout, ready for piping, logging, filenames, or any downstream system that depends on knowing exactly when.
| Capability | Epoch | Manual String Formatting | Language Libraries |
|---|---|---|---|
| Nanosecond precision | โ | โ | Varies |
| Natural language input | โ | โ | Needs library |
| ISO 8601 one-flag | โ | Manual | Varies |
| RFC 5322 / 3339 | โ | โ | Partial |
| File mod time | โ | stat + format | Multi-step |
| Zero dependencies | โ | โ | โ |
| 40+ format specifiers | โ | โ | Partial |
Real-time view of formats being generated by Epoch users around the world.
From seconds to nanoseconds, choose the precision tier your timestamps deserve.
%Y, %m, %d specifiers%H, %M, %S specifiers-d natural language parsing-I ISO 8601 output-R RFC 5322 output-u UTC mode%A, %B, %Z specifiers%j day of year, %u day of week%N nanosecond precision%s epoch seconds-r file reference timestamps--rfc-3339 output-s system time setting-f)"We were manually concatenating year, month, and day variables in our
deploy scripts. Epoch's +%F replaced 14 lines of bash. Our release cadence
literally doubled."
"The -d 'next Friday' feature is criminally underrated. We
build our entire sprint planning pipeline around Epoch's natural language time parsing. It just
works."
"We switched from a 200KB datetime library to Epoch. Zero dependencies. Nanosecond precision. Our container images dropped by 40% and our timestamps got more accurate."
"ISO 8601. RFC 5322. RFC 3339. Three standards, three flags. Before Epoch, we had a custom formatter for each one. Now it's one tool and zero edge cases."
"The -r flag changed how we think about file-based
workflows. Reading modification timestamps with no external tooling? That's the kind of
primitive that compounds."
Select a format and see real output generated in your browser.
Epoch supports over 40 format specifiers including %Y (year), %m
(month), %d (day), %H (hour), %M (minute),
%S (second), %N (nanoseconds), %s (epoch seconds),
%A (weekday), %B (month name), %Z (timezone),
%j (day of year), %u (day of week), and many more. Combine them freely
with +FORMAT.
The -d flag accepts human-readable strings like "next Friday", "2 weeks ago",
"yesterday 3pm", or "2004-02-29 16:21:42". Epoch parses these into precise moments and applies
your format string. It handles relative dates, absolute dates, and timezone-aware strings.
ISO 8601 (-I) produces machine-friendly output like
2006-08-14T02:34:56-06:00. RFC 5322 (-R) generates email-standard
headers like Mon, 14 Aug 2006 02:34:56 -0600. RFC 3339 (--rfc-3339)
gives 2006-08-14 02:34:56-06:00. Each serves a different downstream system.
Yes. The -r flag displays the last modification time of any file. Point it at a file
and it returns the mtime, formatted however you specify. No stat needed, no
post-processing required.
Absolutely. Use -u for UTC, or set the TZ environment variable for any
timezone on earth. Epoch resolves DST boundaries, offset changes, and locale-specific
representations automatically.
Join the teams already using Epoch to bring precision and clarity to every timestamp in their stack.
No spam. No ambiguous timestamps. Just precision.
Follow Epoch on Twitter
This is a fictional startup. No real social accounts exist โ but if they did, every post would include a perfectly formatted timestamp.