In my recent project, I had to format time field on Visualforce Page directly. Most of the solution available/suggested where throwing error message on the visualforce page!
But finally I managed to formate time field on Visualforce page directly without using Apex controller!!
{!HOUR(YourObject.Time_Field__c)}:
<apex:outputText value="{0,number,00}">
<apex:param value="{!Minute(YourObject.Time_Field__c)}" />
</apex:outputText>
Happy coding!!!