You have to realize that &quot;start warning the user two days before the expiration date&quot; and &quot;start warning the user <i>on</i> the expiration date, but give them a grace period of two days&quot; is just an implementation detail, no?