They do actually use the clock the way you think they do, but they'll sometimes make network requests to get the time from a more reliable source. Try disabling the internet, closing the game and then setting the clock. They should either completely refuse to load or have the wrong values.
They do mess with some time and calculate everything from it. The question is which time do they use?
Some games do use system time, and on their case, if you change your time locally, you can fool them to earn rewards.
Other games use server time, so when the game starts, it attempts to connect to a server to get that time and make all the calculations. ...