Find the next "interesting" time
J, 113 99 90
Probably still quite golfable.
f=:t#:[:(&gt;:^:([:(3&amp;g+:2&amp;g=.[:*/]=(]$)${.)@(&quot;:@{.,3}.7&quot;:100#.1,])t#:])^:_)1+(t=.24,2$60)#.]

Takes a vector (h m s) as input, and returns a vector in the same format as output.
Examples:
   f 0 0 0
0 1 0
   f 4 14 14
4 14 41
   f 23 59 59
0 0 0
   f 3 14 15
3 14 31