오전 10시 30분은 오전 11시 27분보다 이른 시각이다.
오전 11시 27분은 오전 12시 18분보다 늦은 시각이다.

이 두 문장으로 충분하다. 어떻게 오전 12시 x분이 오전 11시 x분보다 이를 수가 있다.. 상식과 동떨어져 있다.

근본적인 원인

12시간제가 0시가 아닌 12시라는 표현을 쓰기 때문이다. 오전 0시 18분이라고 했으면 오전 11시 27분보다 이르다는 건 당연한 사실이고 직관적이다.
24시간제에선 24시라는 표현을 안 쓰고(가끔 쓸 때도 있긴 하다. 야간영업하는 영화관이라든지) 0시라는 표현을 쓰기 때문에 저런 문제가 안 생긴다.

추가적인 문제

어렸을 때 사람들은 낮 12시 정각이 오전이냐 오후냐 헷갈려 한다. 이것도 12시라는 표현 때문이다.
24시간제에선 시각은 오늘이 된 지 얼마의 시간이 지났느냐와 동일하다. 자정부터 오늘이 된 지 2시간 30분이 지났으면 2시 30분인 것이다. 오후의 기준은 12시 정각부터이기 때문에 낮 12시 정각은 오후의 시작이지만 12시간제에선 오전 11시에서 이어지는 12시 59분까지가 있고 1시부터 새로 세기 시작하기 때문에 낮 12시가 오전인지 오후인지 헷갈리는 것이다. 마찬가지로 23일과 24일 사이 밤 12시 정각은 23일 12시처럼 느껴지지만 24일인 것이다.

절충안

사람들은 24시간제를 사용하지 않는다. 24시간제를 사용하는 사람이라고 해도 혼동을 방지하기 위해 “내일 9시 비행기”라는 표현을 쓰지 못하고 “내일 오전 9시 비행기”라는 표현을 쓰게 된다.
대신 12시간제를 쓰되 0시라는 표현을 쓰면 어떨까? 기존의 12를 쓰는 표현과 충돌하지도 않고 혼동도 되지 않는다. 12시는 0시, 0시도 0시.

유닉스 시스템의 crontab은 요일을 0~7로 표현한다. 일요일은 0이기도 하며 7이기도 한 것과 마찬가지다. 1~7=월~일요일로 쓰던 사람과 충돌하지도 않으면서 0을 추가로 사용할 수 있는 것이다.