Videos
If you need to utter the exact time, say for a train departure or arrival or any case when no ambiguity is allowed,
12:50
11:15
14:30
7:42
0:00 or 24:00
18:13
Ancient train timetables used 12 hour time, but that was long ago. The convention for train timetables is to use 0:00 for departure and 24:00 for arrival.
If you want to say the current time in informal speech, then usually the approximation is to the nearest five or ten minutes and 12 hour time is used. Fifteen and thirty minutes are “un quarto” and “mezzo”.
The verb is at the singular if the main hour is “mezzogiorno”, “mezzanotte” or “l'una”. Before or at the half-hour we refer to the previous full hour; after the half-hour we refer to the next full hour. In case of ambiguity one adds a specification (shown in parentheses). Thus you'd say
è l'una meno dieci (del pomeriggio) for 12:50
sono le undici e un quarto (del mattino) for 11:15
sono le due e mezzo (del pomeriggio) for 14:30
sono le otto meno venti (del mattino) for 7:42
è mezzanotte for 0:00
sono le sei e un quarto (del pomeriggio/di sera)
sono le dieci meno un quarto (del mattino) for 9:45
The last one can also be “le nove e tre quarti”. Depending on the region, you can hear “della mattina” instead of “del mattino”.
Hours between noon (12pm) and sunset are “pomeriggio”. Hours between sunset and midnight are “sera”, the boundary seems to be around 6pm, which can be “pomeriggio” or “sera” depending on the season. Hours from midnight to 3am are “notte” and “mattina” from 4am to noon.
However, there is no fixed convention about hours after midnight until about 5am. Somebody might still be fooling around “alle tre di notte”, whereas somebody else might wake up “alle tre del mattino” for going to work.
What about, say, 14:35? It is definitely “pomeriggio”, but is it “le tre meno venticinque” or “le due e trentacinque”? I'd say neither and go for “(quasi) le tre meno venti” or “le due e mezzo (passate)”. Similarly for 14:25. The reason is simple: “venticinque” and “trentacinque” are long to say and exactness is usually not needed. You know, Italians consider time as a helper, rather than a commander.
On the other hand, if somebody asks me “che ore sono?”, I'd try to be as precise as possible, so I'd say “le due e trentacinque” (omitting the specification because it's obviously unneeded).
More precision and the form “e” rather than “meno” is becoming more and more common with the advent of digital watches. With analog ones it was handier to round to the five/ten minutes and to look forward after the half-hour.
There are also local terms. For instance, one can hear “la mezza” (Veneto and also elsewhere) to denote 12:30 or “il tocco” (Tuscany) for 13:00.
In a formal or extremely meticulous context, you can read the hours exactly as they are.
In all the other occasions: Regarding the minutes, you always use only multiple of 5. Also, for 15 you say "e un quarto'"; for 30 "e mezza"; for 45 you name the next hour and then "meno un quarto"; for 00 you can say the redundant "in punto" if you want. Till 35 you name the target hour and add the minutes, from 40 on, you name the next hour and remove minutes: meno venti; meno un quarto; meno dieci; meno cinque. You can even say quindici, trenta and quarantacinque but they sound formal. (Note that when speaking formally you always add minutes to the current hour so there is no such thing as "meno quindici" it is either informally "meno un quarto" or more formally "e quarantacinque")
Regarding the hours, you always use the 12h time. And you always add "del mattino/pomeriggio/sera/notte" at the end of the sentence, unless you are talking about the present or any other time being part of a given context that is informative enough. Then we have "mezzogiorno" for "dodici" (12pm) and "mezzanotte" for... mezzanotte. There is no equivalent of 12am. (You would never say "dodici di notte", "zero" or "ventiquattro")
I think that's pretty much all.