There are two systems, 1) one based on day & night, and 2) the AM/PM we use today (kind of).
Both systems divide the day in two halves of twelve hours: daylight and night, and before and after noon, respectively.
Bear in mind that number zero wasn't known to Romans as a proper number, and precise time reckoning wasn't possible before the mechanical clock. The earliest known mention of the minute (pars minuta prima, the first small part [of an hour]) seems to be from the XIII century. Hours were counted from 1 to 12, and it didn't have too much sense to be overly precise.
- The hours in the day/night system varied their length according to the time of the year: summer → longer daytime hours, winter → shorter. Days began at dawn.
- The AM/PM system is independent from the length of the daytime, and originally set the reference point at (astronomical) noon, i.e., the instant when the sun is highest in the local sky. This was the middle of the day and hence meridies in Latin; AM=ante meridiem, PM=post meridiem. The sun pointed South at noon for the Romans1, so meridies got to mean South, too. Meridian and the root meridional- (related to the South in several languages) are derived from meridies too.
Telling the time (hour)
That said, the specific hours are said hora + [ordinal number]: hora tertia, hora sexta, hora nona, etc. Especially in the day/night system, these multiples of 3 also have a wider meaning (mid morning, noon, mid afternoon) and tend to be preferred even if less precise. In this system, hours of the night are called vigiliae [noctis] and also adapt their length seasonally.
The name usually refers to the whole hour, so hora prima may well mean (around the equinox) any time from modern 6:00 AM to 7:00 AM2, and quarta vigilia noctis → about 9 to 10 PM.
Most of the above also applies to AM/PM → hora tertia post meridiem → 3 to 4 PM.
To be more specific
To be more specific without knowing minutes, you can say hora quasi decima (cf. NVG Ioh, 1:39).3 I suspect you can also say, for example, hora prima dimidiata to mean around 6:30 AM. Update: I just found by chance a text in the Roman Missal for the feast day of St. Agnes (i.e., Ecclesiastical Latin, probably from Antiquity) that makes reference to the "second half", and the "beginning" of a time period (a Century in this case):
Altera meditate saéculi III, vel probabilius initio saeculi IV, Romae martyr occubuit / She died a martyr during the second half of the III cent. or more probably at the beginning of the IV,
so you could probably say altera meditate horae quartae to signify at/during the time between 9:30 and 10:00 AM, and initio horae quintae to mean shortly after 10:00 AM.
This question: How to express a time exactly on the hour?, already linked by Joonas which addresses a number of further details.
1 Not so for those like me living in the Southern Hemisphere, nor all year long for those living in the tropics. I might have been in my twenties when I realized noon was a relevant astronomical event, so I think it's worth mentioning.
2 Provided that your timezone matches the natural astronomical time. It may be usually off by a few minutes, and in some places—like western China—may even be off by up to three hours. See this map for details.
3 This could be debated, I think, since quasi means almost, but also as if. I've actually seen this verse translated to Spanish as era como la hora décima (it was approximately the tenth hour) in a fairly literal translation.