То, что сказал @samsam, плюс это: таймер, установленный на 1 секунду, НЕ гарантированно срабатывает точно на секунду.Это будет запланировано на следующее доступное время обработки, как только пройдет секунда.Во многих случаях это будет чертовски близко к точному времени, на которое он запланирован, но редко это будет именно тогда, и это может быть совсем немного, если приложение занято другими вещами.
Если действительно важно, чтобы ваши часы на самом деле тикали раз в секунду (и если бы это было не так, это было бы не очень много времени), вы хотите, чтобы ваш таймер срабатывал чаще, чем это, и обновляли интерфейс, когда он заметил, чтозначение времени, которое он смотрит, изменилось.