Time Formatter
Format a time any way you need it
24-hour, 12-hour, with and without seconds, with an offset, as a duration — every reasonable rendering of a time of day, side by side.
Questions people ask
The things that come up about time formatters, answered plainly.
Is midnight 00:00 or 24:00?
Both are valid in ISO 8601: 00:00 starts a day and 24:00 ends the previous one. They name the same instant. Use 00:00 unless you specifically need to say 'the end of the day', and never write 12:00 AM if you can avoid it — it is read wrongly often enough to matter.
Why does my 12-hour time show 12:00 PM at noon?
Because the 12-hour clock has no zero. Noon is 12 PM and midnight is 12 AM, which is unintuitive enough that many style guides recommend writing 'noon' and 'midnight' instead.
Related tools
Render an instant in any pattern or locale, and read one back out of text.
Date FormatterOne date, every common output at once — ISO, RFC, SQL, filename-safe, spoken English — plus a pattern field for anything the list does not cover.
Custom Date FormatterWrite a pattern in strftime or moment tokens and watch it render live, with a clickable reference and a set of presets to start from.
Locale Time ConverterThe same time across locales — 12-hour and 24-hour, with the separators, the day-period words and the zone names each language actually uses.
Time ParserClock times, durations and offsets, parsed and explained — including the forms that look alike and mean different things, like `PT1H30M` and `01:30`.