Because the YouTube player is wrapped in an iFrame, you are dependent on what the player exposes, and while they've exposed the current time via the getCurrentTime() function, they haven't exposed any events raised whenever the time might get updated (in fact, the time is only updated to the exposed function 6 or 7 times per second, and it isn't always consistent).
So your only option is to set up a javascript timer. Lots of ways to do that; a simple one would be like this:
setInterval(function(){
// here you'd raise some sort of event based on the value of getCurrentTime();
},100); // polling 8 times a second, to make sure you get it every time it changes.
As the postMessage from the iFrame isn't always perfectly consistent, you could have this interval timer be greater. Or you could use something like requestAnimationFrame to poll 60 times a second.