3. They haven't visited their grandparents for months.
Since употребляется с точным указанием времени, а for с периодом времени.
Ответ: They haven't visited their grandparents for months.