Предлог for употребляется для обозначения времени со значением «в течение» при указании, как долго длится действие (выражаемое обычно глаголом в Present Perfect Continuous или Present Perfect). При переводе на русский язык предлог может опускаться. I’ve been waiting for you half an hour already. – Я тебя жду уже полчаса / в течение получаса. I’ve worked as programmer for 20 years. – Я работаю программистом 20 лет / в течение 20 лет. В английском языке этот предлог также можно опустить: They’ve been to St Petersburg (for) three days...