It depends. For me "без двенадцати час" is quite OK. I can say it like this by myself.

I do not like neglecting precision when it comes to time If someone stops me in the street to ask about the time, and I see 12:48 on my watch, I will definitely say "без двенадцати час" (as I use a mechanic watch). If I used an electronic watch, then I would say "двенадцать - сорок восемь".