To "have" a length of time means that you must continue something for that length of time.
You can use this phrase for things that you are looking forward to the end of, like the remaining time you have in school:
I only have 3 semesters left.
You can also use it for the length of time left for something you enjoy:
We only have 2 more days before we have to go back to work.
"Having" a length of time on a contract means that the contract extends until a certain date, and this is the length of time between now and the end of the contract.