Timestamp Formatter
Format dates into multiple common timestamp formats used in programming
2026-05-21T12:00:00.000ZThu, 21 May 2026 12:00:00 GMT177936480017793648000002026-05-21 12:00:00Thu, 21 May 2026 12:00:00 GMT2026-05-215/21/2026About This Tool
Your log files use Unix epoch milliseconds. Your database stores ISO 8601 with timezone. Your boss wants the report in 'May 6, 2026 at 3:14 PM'. Same moment, three formats, and you're losing minutes converting between them by hand.
Drop in any common timestamp — epoch seconds, epoch ms, ISO 8601, RFC 2822 — and get every other format back. Includes timezone-aware variants, locale-formatted variants for human-readable output, and the formats most logging tools and databases prefer.
If you only have a date and need a Friday's epoch timestamp at midnight UTC, that works too. Pick the date, the timezone, the format you want.
The Unix epoch is the reference point: midnight UTC on January 1, 1970. Every Unix timestamp counts seconds (or milliseconds, in JavaScript) elapsed since that moment. Negative numbers represent dates before 1970, which the formatter handles correctly though they're rare in practical work. ISO 8601 expresses the same moment as a string with explicit date, time, and timezone offset — for example, `2026-05-07T14:30:00Z` (the trailing Z means UTC) or `2026-05-07T10:30:00-04:00` (the same moment, expressed in Eastern Daylight Time). RFC 2822 is the email-headers format you'll see in raw email source.
A worked example: a log line shows `1746625800`. You drop it in. You get back `2025-05-07T15:10:00Z` (ISO 8601 UTC), `Wed May 7 2025 11:10:00 GMT-0400 (EDT)` (in your local timezone), `Wednesday, May 7, 2025, 11:10 AM EDT` (locale-formatted), and `1746625800000` (the same timestamp in milliseconds for JavaScript). One input, every common output format ready to copy. Useful for cross-referencing logs from systems that disagree on format.
Where this gets tricky: parsing user-entered ISO 8601 strings without explicit timezone. `2026-05-07T14:30:00` (no Z, no offset) is technically ambiguous. JavaScript's `Date` constructor interprets it as local time, while many backends interpret it as UTC. The formatter shows both interpretations when the offset is missing, so you can spot the case before it produces an off-by-some-hours bug somewhere downstream.
Daylight saving is the silent destroyer of timestamp logic. If your server stores in local time and you're in a region that observes DST, you have one duplicated hour each fall (1:00–2:00 AM happens twice) and one missing hour each spring. Logs from those windows can be ambiguous or non-existent. The fix everyone eventually adopts is to store in UTC and convert to local only at display. The formatter encourages this by showing the UTC equivalent prominently for any input.
The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.