They have had a dog __many years. A since B for C from D with

问题描述:

They have had a dog __many years. A since B for C from D with
请问这道英语单选选哪个呢?哪位老师达人知道希望告诉我一下.
请告知为什么选那项,别的为什么不选?最后还请翻译一下这句话.多谢多谢~~~.

B
many years是一段时间,所以用FOR,意味这个动作持续了许多年
A since后面要加时间点,意思为“自从.以来”
Cfrom与to 搭配可以表示从几点到几点
D 表示时间不用with的