I knew this sounded familiar, just took me a while to figure out why. Here's a code that I wrote for someone else. Please note that this does have a variance of up to 30 seconds.
Code:
alias time.check {
if !$mid($time,4,2) { echo -a The time is $time }
}
on *:start:{
$+(.timer,time) 0 30 time.check
}