1、in:泛指一般意义的上午、下午或晚上 以及月 或年 等较长的时间;表示地点的时候,表示在地点名词内部

  in the morning/afternoon/evening/night用于某个较长的时间,像世纪、朝代、年、月、季节

  in May

  in spring

  in 2018

  in the twenty-first century (在二十一世纪)

  in the village:在村里

  in the school:在学校里

2、on:用于星期、某一特定的日期(包括该天的各部分);表示地点的时候,表示接触的“上方”,

  on Sundays/weekdays

  on the fifth of May

  on Christmas:在圣诞节那天

  on Monday morning / afternoon / evening:星期一的早上/下午/晚上

  on the night of May 1st:五月一日当晚

3、at:表示时间的某一点、某一时刻或年龄等;地点表达“在哪儿”

  at ten o’clock

  at noon/night/midnight (半夜)

  at sunrise (日出时)

  at dusk (黄昏)

  at dawn/daybreak (黎明)

  at breakfast/lunch/supper (在早餐时/午餐时/晚餐时)

  at 14 (=at the age of 14)

  at the cinema:在剧院

  at the door:在门口

  at the party:在晚会上

 

4、特殊:

  at school:在学校(上学)

  in the school:在这个学校里(有事儿)

  at church:在教堂(做礼拜)

  in the church:在这个教堂里面(有事儿)

  in hospital:住院

  in the hospital:在这个医院里(有事儿)

“在周末”既可以说at weekends,也可以说on weekends。

需要特别注意的是:at,on都可用来表示“节假日”,但at侧重指“休假的时节”,而不是指具体的哪一天;on侧重指具体的时日,与它连用的短语中多含“Day”

  at New Year (在新年期间)

  at Christmas (在圣诞节期间)

  on New Year’s Day (在元旦那天)

  on Christmas Day (在圣诞节)