"no longer" = "not any longer"
She is no longer a student.
She is not a student any longer.
With time, "in" means a period into the future (or sometimes from the past, in a negative statement), and "for" means a duration.
It will be Spring in a month.
It will still be Winter for another month.
I haven �t seen my sister in a long time.
My sister will move back to Ohio in a long time.
My sister has been living in Colorado for a long time.
In the US, we say "two and a half hours", but I �m not sure about British usage here.
Bruce