It doesn't matter how you format the cell provided that the underlying piece of data is a date and time.
These formulas assume that if a shift starts on a Saturday or Sunday then a standard shift will be 12 hours. If the shift starts on any other day then a standard shift will be 8 hours. They also assume that Start Time < End Time.
In C2, with the cell formatted as [hh]:mm
Code:
=MIN(B2-A2,IF(OR(WEEKDAY(A2)={1,7}),1/2,1/3))
In D2, with the cell formatted as [hh]:mm