23:45 is all that is needed here. No disambiguating label like hours is required unless there is an obvious risk that the time of day 23:45 could be confused with something else, such as the duration of an astronomical event.
You would only use o'clock when referring to a precise hour and using the 12-hour clock, e.g. "It is now 11 o'clock". It would not be normal in most (or possibly any) varieties of English to say "It's eleven forty-five o'clock" or — more outlandish still — "It's twenty-three forty-five o'clock".
The label hours is usually used when specifying the time in a formal context like radio broadcasting, especially when the 24-hour clock is being used — for instance, when a newsreader says "It's 23 hours. Here is the news", or when it is necessary to be precise in a military or scientific context ("The evacuation training starts at 23:45 hours").