Date format converter — one date in 26 formats plus your own pattern

Paste a date or a Unix timestamp, pick a time zone, and the tool prints it in 26 common formats, from ISO 8601 and HTTP dates to ISO week numbers, plus a custom pattern written with Moment/Day.js-style tokens.

Live demo · real result from this tool
ISO 8601, a Unix timestamp, or RFC 2822. Dates without an offset are read in the time zone below.
Tokens: YYYY YY MMMM MMM MM M DD D Do dddd ddd HH H hh h mm ss SSS A Z ZZ X x W Q DDD. [text] is literal.
Custom patternFriday, 2 October 2026 at 14:30

Table

FormatValue
Custom patternFriday, 2 October 2026 at 14:30
ISO 86012026-10-02T14:30:00Z
ISO 8601 (UTC, ms)2026-10-02T14:30:00.000Z
RFC 33392026-10-02 14:30:00+00:00
RFC 2822 / HTTPFri, 02 Oct 2026 14:30:00 GMT
SQL DATETIME2026-10-02 14:30:00
Date only2026-10-02
Time only14:30:00
Compact20261002T143000
UK (DD/MM/YYYY)02/10/2026
US (MM/DD/YYYY)10/02/2026
German (DD.MM.YYYY)02.10.2026
Japanese (YYYY年M月D日)2026年10月2日
12-hour clock2:30 PM
Long (en-GB)Friday, 2 October 2026 at 14:30
Long (en-US)Friday, October 2, 2026 at 2:30 PM
en-IN2 Oct 2026, 2:30 pm
fr-FRvendredi 2 octobre 2026
de-DEFreitag, 2. Oktober 2026
Unix seconds1790951400
Unix milliseconds1790951400000
ISO week date2026-W40-5
Ordinal date2026-275
Quarter2026 Q4
Day of weekFriday
Ordinal day2nd October 2026

26 rows — scroll inside the table, or download the CSV.

Processed on your device — nothing is uploaded.

How to use the date format converter

  1. Type or paste a value into Date: an ISO 8601 string, a Unix timestamp or an RFC 2822 date.
  2. Choose a Time zone. A date without an offset is read as a local time in that zone, and every row is shown in that zone.
  3. Edit Custom pattern with the tokens listed below the field. Text inside [brackets] is copied as it is.
  4. Read the custom result at the top and the full table of formats below it.

What it does and when to use it

Dates move between systems in different shapes: an API returns 1767225600, the log line says 2025-12-31T19:00:00-05:00, and the UI needs “Wed 31 Dec”. This page shows all of them side by side for one instant. Use it to check what a timestamp really means, to choose the right format string before writing code, or to test a pattern for a report header or file name.

Besides the standard formats, the table has SQL DATETIME, UK, US, German and Japanese date orders, locale strings for five languages, the ISO week date, the ordinal date and the quarter.

How it works

Numbers are treated as Unix time. The unit is picked by size: below 10¹¹ is seconds, below 10¹⁴ milliseconds, then microseconds and nanoseconds. A YYYY-MM-DD date with an optional time is read as a wall-clock time in the chosen zone. Anything else goes to the JavaScript Date.parse function. Fixed formats are built from the zone’s date parts via Intl.DateTimeFormat; locale rows use the browser’s own locale data, so their exact wording can vary a little between browsers.

Worked examples

New Year in New York. Date 1767225600, zone America/New_York, pattern ddd D MMM YYYY, h:mm A Z:

Custom pattern: Wed 31 Dec 2025, 7:00 PM -05:00
ISO 8601 | 2025-12-31T19:00:00-05:00
ISO week date | 2026-W01-3

The same instant is already 1 January 2026 in UTC, and ISO week 1 of 2026.

The 53-week year. Date 2026-12-31 with pattern GGGG-[W]WW, [day] DDD gives 2026-W53, day 365. Use GGGG (ISO week-year) with WW, not YYYY, or late-December weeks get the wrong year.

A pattern without brackets. Today is dddd returns To5amy i0 Friday: d became the weekday number, a became “am” and s became the seconds. Write [Today is] dddd.

Limits and tips

  • Only the 61 zones in the menu are available, all using IANA names.
  • The tool formats dates; it does not parse a string against your custom pattern.
  • Times that fall in a daylight-saving gap are moved forward to the next valid time.
  • For raw timestamp work see the Unix timestamp converter; to compare zones, Timezone Dev; for the gap between two dates, Timestamp Diff.

Frequently asked questions

Which input formats does it accept?
A Unix timestamp in seconds, milliseconds, microseconds or nanoseconds (the size of the number decides), an ISO 8601 date such as 2026-10-02T14:30:00Z, a plain 2026-10-02 14:30, or an RFC 2822 date such as Fri, 02 Oct 2026 14:30:00 GMT. Slash dates like 31/12/2026 are rejected because day and month order is ambiguous.
Why did letters in my pattern turn into numbers?
Single letters such as d, a, s, m, h, D, E, Q, W and X are tokens. Put any literal text in square brackets, for example [at] or [Week].
Do the tokens match Moment.js or date-fns?
They follow Moment.js and Day.js names (YYYY, DD, HH, A). date-fns and Java use different letters, for example yyyy and dd, so do not paste those patterns here unchanged.
Which row should I store in a database?
Store the instant in UTC, using ISO 8601 (UTC, ms) or Unix milliseconds. Convert to a local or formatted value only when you display it.
Why is the RFC 2822 row in GMT when I picked another zone?
That row uses the HTTP-date form, which is always written in GMT. The ISO 8601 and RFC 3339 rows show the chosen zone's offset instead.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close