thisclock = createObject("roDateTime")
At what point are you looking at thisclock.GetHours()? It works for me if I print thisclock.GetHours() right after your thisclock.toLocalTime() statement. If you call thisclock.Mark() at some later point, you'll have to call thisclock.toLocalTime() again. Also, GetHours() will always return a number between 0 and 23 inclusive.