UnixTimestamp.com

Military Time Chart: All 24 Hours, Both Ways

This military time chart lists all 24 hours in both directions: 0000 through 2300 with the 12-hour time each one equals, and the two rules that cover every minute in between. Print it, bookmark it, or learn the trick and stop needing it.

Morgan HuberPublished ยท 8 min read
A twelve hour clock dial and a twenty four hour clock dial standing side by side, linked by a mint ribbon
Key takeaways The short version, before the details.
  1. The chart below maps every hour from 0000 to 2300 to its AM or PM equivalent.
  2. Going down: subtract 1200 from anything 1300 or higher and add PM.
  3. Going up: add 1200 to any PM hour except 12 PM, and write midnight as 0000.
  4. Midnight is 0000 when a day starts and 2400 only when a day ends.

Military time chart for all 24 hours

Four digits, no colon, no AM or PM. The first two digits are the hour from 00 to 23, the last two are the minutes. Here is the full hour-by-hour map.

0000midnight, start of the day
1200noon, the PM half begins
1300first hour you subtract 1200 from
2359last minute of the day
Military time12-hour clockSpoken as
000012:00 AM (midnight)zero hundred hours
01001:00 AMzero one hundred hours
02002:00 AMzero two hundred hours
03003:00 AMzero three hundred hours
04004:00 AMzero four hundred hours
05005:00 AMzero five hundred hours
06006:00 AMzero six hundred hours
07007:00 AMzero seven hundred hours
08008:00 AMzero eight hundred hours
09009:00 AMzero nine hundred hours
100010:00 AMten hundred hours
110011:00 AMeleven hundred hours
120012:00 PM (noon)twelve hundred hours
13001:00 PMthirteen hundred hours
14002:00 PMfourteen hundred hours
15003:00 PMfifteen hundred hours
16004:00 PMsixteen hundred hours
17005:00 PMseventeen hundred hours
18006:00 PMeighteen hundred hours
19007:00 PMnineteen hundred hours
20008:00 PMtwenty hundred hours
21009:00 PMtwenty one hundred hours
220010:00 PMtwenty two hundred hours
230011:00 PMtwenty three hundred hours

How to say the hours military time uses out loud

On a whole hour, you read the four digits and add the word hours: 0600 is "zero six hundred hours", often shortened in speech to "oh six hundred". Hours below 1000 keep the leading zero when written and when spoken.

When there are minutes, nobody says "hundred". 1430 is "fourteen thirty", 0745 is "zero seven forty five", 2205 is "twenty two zero five". The word "hours" is usually dropped once minutes are involved.

What is military time and who uses it

Military time is the US armed forces convention for writing the 24-hour clock as a single four-digit number with no colon and no AM or PM marker. 0730, not 7:30 AM. The day runs from 0000 to 2359, which is 1,440 distinct minutes with exactly one spelling each.

It is not only a military habit. Aviation, hospitals, emergency dispatch, railways and most of the world outside North America run on the same 24-hour clock, usually written with a colon as 07:30. The difference between 0730 and 07:30 is punctuation, not meaning.

One number, one meaning. The whole point is that a written time can be read only one way. 0800 cannot be mistaken for the evening, and nobody has to ask whether a 12 means noon or midnight.

Military orders often append a single letter to the time, as in 1430Z. The letter names the time zone. Z is Zulu, which is UTC. J is Juliett, meaning the local time of whoever is reading. A through M, skipping J, run from UTC+1 to UTC+12, and N through Y run from UTC-1 to UTC-12.

Zulu time is why so many logs and flight plans are stamped in UTC rather than local time. If the difference between UTC and GMT matters to you, we cover it in UTC or GMT: same clock, different authority.

How to do military time conversion in your head

Reading the chart works, but the arithmetic is two rules deep. Going from military time to the 12-hour clock:

  • 0000 to 0059: the hour is 12 AM. 0030 is 12:30 AM.
  • 0100 to 1159: drop the leading zero, add AM. 0915 is 9:15 AM.
  • 1200 to 1259: keep the 12, add PM. 1245 is 12:45 PM.
  • 1300 to 2359: subtract 1200, add PM. 1845 is 6:45 PM.
The only sum worth memorising. If the first two digits are 13 or higher, subtract 12 from the hour and call it PM. Everything else is already the number you would say.

How to convert standard time to military time

Backwards is just as short. Add 1200 to any PM hour, leave AM hours alone, and pad the result to four digits.

  • 12:xx AM becomes 00xx. 12:07 AM is 0007.
  • 1 AM to 11:59 AM keeps its hour, padded. 7:05 AM is 0705.
  • 12:xx PM stays 12xx. 12:45 PM is 1245.
  • 1 PM to 11:59 PM gains 1200. 6:30 PM is 1830, and 11:59 PM is 2359.

The two cases people get wrong are both around 12. Midnight loses its 12 and becomes 00, while noon keeps it. Everything else follows the add or subtract rule without exception.

Why is midnight 0000 and noon 1200

Because the 24-hour day starts at midnight and counts elapsed hours from there. Midnight is zero hours into the day, so 0000. Noon is twelve hours in, so 1200. The 12-hour clock inherits the same logic but restarts the count, which is exactly where 12 AM and 12 PM become guesswork.

Then there is 2400. It is a legitimate way to write the end of a day, and ISO 8601 permits 24:00 as the final instant of one day, identical to 00:00 on the next. It is the same moment written from two different sides. Schedules that need a hard end almost always write 2359 instead, so no reader has to work out which date is meant.

2400 and 0000 are the same instant, not the same date. 2400 on Monday is 0000 on Tuesday. A shift ending at 2400 Monday ends as Tuesday begins, which is why rosters prefer 2359.

Why the 24 hour clock prevents scheduling mistakes

Drop the AM from 8:00 AM and you have created an ambiguity worth twelve hours. Drop nothing from 0800 and it still means one thing. That single property is why hospitals chart medication times this way and why flight plans do not contain the letters AM.

A zero-padded 24-hour time also sorts correctly as plain text. 0930 comes before 1015 alphabetically as well as chronologically, which is why log files and filenames use it. A 12-hour list sorts 1:00 PM before 9:00 AM and quietly scrambles your timeline.

It removes one ambiguity, not all of them. The date written beside the time is still read differently depending on where the reader lives, which we unpack in why date formats differ by country.

How to print 24-hour time in code

Every date formatting library draws the same line between the two clocks: one code for the 24-hour hour, another for the 12-hour hour that needs an AM or PM marker beside it.

In Python and in the C-style strftime codes, %H is the hour from 00 to 23, %I is the hour from 01 to 12, and %p prints AM or PM. Military time is simply %H%M with nothing between them.

datetime.now().strftime("%H%M")

On the command line, the same two codes apply:

date +%H:%M

In the browser, the hour12 option decides it. Intl.DateTimeFormat and toLocaleTimeString will happily hand you a 12-hour string under a US locale unless you say otherwise:

new Date().toLocaleTimeString('en-GB', { hour12: false })

Other languages spell the same idea differently. PHP uses H for the padded 24-hour hour, h for the 12-hour one and G for 24 hours without the leading zero. Go writes 15 for the 24-hour hour and 03 for the padded 12-hour hour. Day.js style patterns use HH and hh. Our strftime builder lists all of them side by side for Python, PHP, Go and JavaScript, and previews your format string live as you type, so you can confirm you picked %H and not %I before shipping it.

When a military time converter saves you time

Mental arithmetic is fine for one time. It stops being fine the moment a time zone joins in, because you are then subtracting 1200 and adding an offset at once, with a date rollover waiting to catch you.

That is the job of the timezone converter. Type the date and the time in HH:MM:SS form, pick a source and a target zone from the searchable lists, and it returns the full date and time in 24-hour form, the date on its own as YYYY-MM-DD, the time on its own as HH:MM:SS, the Unix timestamp in seconds and the ISO 8601 string. There is a swap button for the two zones, a button that fills in the current time, and a copy button on every result row.

If you just need to see what 24-hour time it is elsewhere right now, the world clock ticks 16 major cities once a second in HH:MM:SS with no AM or PM anywhere, shows each city's UTC offset, and lets you add any time zone your browser knows about. Click a city and its current time goes to your clipboard.

Two 24-hour clock dials linked by a conversion arrow above a globe with two location pins
Timezone converter

Convert a 24-hour time across zones without the mental maths

Enter a date and an HH:MM:SS time, pick two zones, and get the result in 24-hour form plus the Unix timestamp and the ISO 8601 string.

Convert a timeFree, no signup

Frequently asked questions

1200 is noon. Midnight at the start of a day is 0000, and midnight at the end of a day can be written 2400. Because the 24-hour clock counts elapsed hours from midnight, twelve hours in lands squarely on the middle of the day.

2400 marks the end of a day, the same instant as 0000 on the following day. It is valid under ISO 8601 as 24:00, but it invites confusion about which date is meant, so schedules and rosters normally end at 2359 instead.

12:30 AM is 0030. Any time in the 12 AM hour loses the 12 and takes 00 as its hour, because that hour is the first of the day rather than the thirteenth. By the same rule, 12:30 PM stays as 1230.

Only on whole hours. 0600 is spoken as "zero six hundred hours", often shortened to "oh six hundred". Once minutes are involved the word hundred disappears and hours is usually dropped too, so 1430 is simply "fourteen thirty".

US military writing leaves it out, giving four digits like 0730. The civilian 24-hour clock used across most of the world keeps it and writes 07:30, and ISO 8601 writes 07:30:00. The meaning is identical; only the punctuation changes.