1. 表示年、月、日、时刻等用 at, on, in

a) at 用于表示时刻、时间的某一点:
at nine (o'clock) 在九点
at dawn 拂晓时
at noon 正午时
at present目前

b) on 用于某天,某一天的上、下午:
on Monday 在周一
on June 6 在6月6日
on May 4, 1996 在1996年5月4日
on a cold night 在一个寒冷的夜晚
on the night of July 1st 在七月一日的夜晚

*指具体的某一天时,一律用on
泛指一般的上午(下午)时用in,但特指某日的上午(下午)时用on:
in the morning 在早上
on Sunday morning 在周日早上

在重大节日前也可用on:
on Christmas Eve 在圣诞前夜
on New Year's Day 在元旦

c) in 用于表示周、月、季节、年,泛指的上午、下午、晚上:
in this week 在这周
in May 在五月
in spring 在春季
in 2010 在2010年
in September, 1995 在1995年9月
in the morning 在早上

2. 表示期间等用 for, during, through/throughout

a) for 引导一段时间,强调时间由始至终,可译为“长达……”,一般与有长度的时间短语连用:
We will stay in the city for two days. 我们要在那里呆两天。
He has lived here for a long time. 他在这儿已经住了很久了。

b) during 意为“在……(期间)内”的行为或状态。
一般与一段时间的整体连用。如:during the spring, during last year, during 1980 等,也可以和表示延续性事件的名词连用,如:during my childhood, during the lesson, during his visit等。

*for之后大多跟表示时间、天数等的数字名词,而during后决不能跟表数字的名词。

in与during:

during 用来表示一段时间,其意义大致相当于 in 的用法。一般来说,凡是能用 in 的地方,也可以用 during:
Don't go to see his wife in his absence. 当他不在的时候不要去见他妻子。
He came to see me during my absence. 当我不在的时候他来看我了。

during 与 in 的区别在于,during 强调时间的延续性,而 in 只是一般指某一时间。试比较:
They visited many cities during their stay in China. 呆在中国期间他们走访了很多城市。
Her grandpa was killed in the war. 她的祖父死于战争中。

c) through/throughout 表示“一直……”,强调从开始到结束:
They played the cards throughout the night. 他们打了一整夜的牌。
I'll be staying at camp for five days, Monday through Friday. 我将露营五天,从星期一到星期五。