This in not per se possible, because it would cause a loop checking on the time (which would require a very high amout of gas). Every miner is running your script on his mining device and you couldn't expect them to "wait".

You could consider the time variables to build a timer with multiple function calls. But the now Variable is only an alias for block.timestamp which won't help you if you only want to make one function call.

But you could build an external listener/oracle which sets a variable (e.g. in python with web3.py). This Variable is checked by a modifier in the second part of the function.

modifier timerOver() { require(timerExpired == true); _; function firstFunction(uint n, parameters*) payable public { emit startTimer(msg.sender, funcName); } function secondFunction(uint n, parameters*) timer public { // other statements }

In your python script you have a filter running on the startTimer -Event which triggers the change of the variable after an amount of time.

I hope this could help