in,for的区别(仅限表示时间)

问题描述:

in,for的区别(仅限表示时间)
我看了别的关于这个的问题,但觉得表述的不是很确切,有些笼统.
今天翻历史书发现有一句谚语Rome wasn't built in a day.为什么这里的in不是for呢
“也可以表示过去的时间内,就像June的JUNE 提到De`“in the past time”,这个是in的独特用法,一般句式只用in 而不能够用for。像:I haven't had a wink of sleep in three days.我已经三天没有合眼了。”
这是粘别的回答的、、他说是in的独特用法啊
但是他说 “ I haven't had a wink of sleep in three days.我已经三天没有合眼了。”
但后来又看到他写的 “for的用法也没有in那么多限制。I haven't seen you for a long time/短语表过去时间”
两种不是一样吗、、那为什么又一个用for一个用in呢

for一般后面用一段时间,a day表示一天,不是一段时间一天不是一段时间吗?、、、难道你是说在过去的时间内for后面加a month/two years这样的,而in后面加a short time/much time这样的吗?不一定是过去的时间,现在的时间也可以啊,而且day相对于a month/two years来说,就不是一段时间了