You can't learn English overnight.
You can't learn English in one night.
I know that "in one night" may not sound idiomatic, so I should say "overnight" to sound natural.
I often hear "overnight" to mean "a short period of time".
However, when I think about it as a structure, I can't find a good reason why it is "overnight" instead of "in one night". The other periods of times "in one day/week/month" is very common in English. And we cant use "over" with them, for instance "over a day, over a week" to mean something can not be achieved in short period of time.
So, is there something special with the word "night", that prevents us from saying "in one night"? Or is it simply a matter of being idiomatic?