Why is it that we say the phrase “last night” when referring to events that happened the previous night, but we don’t say things like “last afternoon”. Instead it’s always “yesterday morning” and “yesterday afternoon” and “yesterday evening” but never “yesterday night”. Similarly it’s always “last night” not “last morning”, “last afternoon”, or “last evening”.

Is it some uniqueness about the term “night” spanning a timeframe set over two days (say 9pm to 4am)? [An aside: are there commonly-accepted timeframes for those periods? 4am-noon = morning, noon-6pm = afternoon, 6pm-9pm = evening?]. Or is it that “night” doesn’t belong at all in the set of [morning, afternoon, evening] but instead belongs in the set [night, day] which somehow spans the first set? The latter seems to make more sense which is why “yesterday night” sounds to totally foreign. Perhaps “yesternight” is more a more appropriate term.