English and Spanish both have three main ways: I ate, I was eating, and I have eaten. That last one is the first past you learn, and it uses the present tense to do it.
In English, building it is the awkward part: eaten, gone, wanted are all very different. In Spanish it is very simple.
This have is not tener. Tener is for possession, and with que it gives have to. The verb for I have eaten is haber, with the usual silent h.
Haber is extremely irregular. There is no "habo", and unlike saber every single version is irregular. But there is an easy way to hold the whole set: look at the two vowels inside haber, /a/ and /e/.
he · hemos || ha · has · han
Start from the /e/: he for I, and since we is the plural of I, the two are connected, giving hemos. Then move to the /a/: ha, and add the endings you already know.
He from haber and sé from saber are the only two verbs that form the I version this way.
Asked to guess we have, the student offers "hes". That would work for a noun or an adjective, but a verb has never done that.
To make the form that follows haber, drop the -ar and add -ado. Where English has a jumble of gone, wanted, eaten, Spanish has one move.
hablar → hablado · tomar → tomado
He hablado · No he hablado · Hemos hablado · Ha hablado · Han hablado · Has hablado
The no goes at the front, before the whole thing.
He tomado · Hemos tomado · ¿Has celebrado? · ¿No has celebrado? · ¿Por qué no has celebrado? · ¿Dónde has celebrado? · ¿Dónde lo has celebrado?
The rule you already have, now applied here. Anticipado is not a "to" form, so nothing attaches to its end.
Lo hemos anticipado.
Lo ha tomado · Lo hemos anticipado por mucho tiempo
For a long time is for much time: por mucho tiempo.
The teacher flags a shift in method: sometimes he will build you up step by step, and sometimes he will hand you the whole sentence and you must work out which thoughts to have first.
For has she taken it?: she has → ha. She has taken → ha tomado. Then the lo, before the changed verb → lo ha tomado.