Somewhat surprisingly, if you take the clock to operate at single-second intervals, there are no times during the day when you can't tell what time it is.
To do this, I defined 43200 discrete positions on the clock, because 12 hours = 43200 seconds. So each time the second hand ticks, the hour hand moves one position and the minute hand jumps 12 positions (since the minute hand moves 12x as fast as the hour hand).
Then, you can track the positions of the hour hand (0, 1, 2, 3, 4, ...) and the minute hand (0, 12, 24, 36, 48, ...) (minutes are mod 43200) and make a big list of pairs of coordinates.
Ambiguous times would occur when:
- The hour and minute positions are not equal AND
- The reversed positions also appear in the list.
For example, the (hour, minute) position (1,12) is found in the list, but (12,1) is not. And if you scan the list (which I did in Python), there's just one position that appears reversed in the list: (0,0), which doesn't satisfy condition 1 and thus is not ambiguous.
Now I see JoeZ. has posted a much more elegant and mathematical answer on the duplicate question, but I'll still pop this up for those of us less math-capable.
Quick python check:
# Positions for the hours hand, 0 though 43199
hours = range(0,43200)
# The minute hand moves 12 positions per second
minutes = [i*12%43200 for i in hours]
# Create a list of (hour position, minute position)
positions = zip(hours, minutes)
for position in positions:
# Flip this instance around
flipped = (position, position)
# Check if the flipped version is also present
if flipped in positions:
print "Values: %s, %s" % (str(position), str(position))
print "Present in both orientations.\n"