Code legibility with strtotime() and neg/pos numbers

I use something like the following code to expire tokens, and to be able to change the expiration time in one place:

define(‘TOKEN_EXPIRATION_TIME', '-24 hours');

$token_expiration_time = strtotime(TOKEN_EXPIRATION_TIME, time());

$sql = 'UPDATE tokens SET token = NULL WHERE token_creation_time < :token_expiration_time';

The point of this is to expire tokens that are more than 24 hours old. I would like to be able to set TOKEN_EXPIRATION_TIME to a positive number (just 24 hours) for legibility purposes. But I am having trouble arranging my code in a way that makes this possible. Any thoughts on how to make this possible or more legible? Every time I read this section of my code I have start from the beginning because the use of negatives instead of positives makes everything have to be considered in reverse.

Willing to change my query, or anything else, to make this code legible. I think i am just overlooking something simple here, but I can’t put my finger on it.

Could you use something like ‘timestampdiff()’ in your query?

$sql = 'update tokens set token = NULL where timestampdiff(hour, token_creation_time, now()) > 24';

Or do you use it elsewhere, where the value “24 hours” is needed? (I am learning PHP and just dragged that out of the manual, so there might be good reasons for avoiding it.)

Or you could just… write the token better?

define('EXPIRE_TOKENS_OLDER_THAN', '24 hours ago');

PHP’s Relative Time Formats cover a lot of spoken-english style time references.