Чтобы он не зависел от локальной даты клиента (так как она изменяема) .
Тебя вообще не должно волновать время на клиенте. Да и на сервере в общем-то тоже (просто его может быть удобнее использовать как стартовую точку, а не ноль).
Таймер это счётчик - он считает пройденное кол-во единиц времени (сек, мин, часов и тд).
Делаешь постоянное соединение клиент-сервер (сокет или ещё что-то) и, как выше говорили, сохраняешь стартовую точку на сервере (в базе или файле - тут по задачам). Пока клиент доступен счётчик прибавляет единицы. Для пущей надёжности ещё на клиенте пишешь в локалсторедж и сверяешь с серверным. Можно пойти ещё дальше и зашифровать хеш из времени клиента + таймер + nonce.