When working with server time, don't use the local time at all. All timers should be based on the server time instead. Server time is in milliseconds. If you want to have some event happen in 30 seconds, send an RFC to others with the time like so:
tno.Send("SetExpirationTime", Target.AllSaved, TNManager.serverTime + 30 * 1000);
[RFC]
void SetExpirationTime (long expTime)
{
float seconds = (expTime - TNManager.serverTime) * 0.001;
Debug.Log("Expiration event in " + seconds);
}
Since you are sending the actual server time in that RFC, you can make it persistent (Target.AllSaved) and it will work fine even if clients join late.