Instead of counting the number of days each time you fetch the record, you can go like this.
You can have a extra field named "ExpiryDate" and on entry, you can calculate the expiry date based on the number of days specified and update the Expiry date with the value.
Each time you fetch the records, you can get the records whose expiry days are lesser that current date.
So you can get the vaccancies which are not expired by using SQL statements like,
where expiryDate < CurrenntDate
numberofdatesLeft = expirydate - currentDate