TIMENOW is the time when the script runs, and there are 86400 seconds in a 24 hour period, so this:
Code:
subscriptionlog.expirydate >= " . (TIMENOW + (86400 * 2)) . "
Means the expiry date is more than two days in the future from TIMENOW and this:
Code:
subscriptionlog.expirydate <= " . (TIMENOW + (86400 * 3)) . "
Means that the expiry date is less than three days in the future from TIMENOW.
So when the subscriptions cron runs it looks for subscription data from those active subscriptions set to expire between two and three days into the future.
Not sure what you mean by "change this to 2 weeks and then 3 days" but maybe you can now edit that query using the above information.