По-моему, решение верное. Я проверял, выставляя разное время в main'e и уменьшая таймер до 10 миллисекунд - время показывается верным. В чем ошибка?