在晚上用at是因为at 用于表示时刻,时间的某一点,有三种说法: at night ,in the night 和 on the night。
at night表示在夜间,at noon表示正午时。on用于表示某天,某一天的上,下午,on a fine morning表示在一个晴朗的早晨。on a cold night表示在一个寒冷的夜晚。in用于表示月,季节,年和泛指的上午,下午,晚上。in the morning表示在上午。at是个时间点,“工作”“时刻”与“圣诞”⑤。at noon(night),in the day,习惯用语记心间。