Why is 「昨夜」 pronounced as 「ゆうべ」 {yuube} and 「今日」 as 「きょう」 {kyou}?


「ゆう」 is neither the kun'yomi nor on'yomi of 「昨」 and 「べ」 is not a pronunciation
of 「夜」 either. The same can be said about the pronunciation 「きょう」 for 「今日」.

So how come the pronunciations of the two words are like those? If they are
special, what was the origin of such pronunciations?

EDIT:

To respond to Mark Hosang answer on ゆうべ, from my dictionary software:

![yuube](https://i.stack.imgur.com/ndrCp.png)

p/s: yup, the "sakuya" pronunciation is also there :)




The reading ゆうべ comes from the still-in-use word 夕べ（ゆうべ）, which [apparently
came
from](http://dic.yahoo.co.jp/dsearch?enc=UTF-8&p=%E3%82%86%E3%81%86%E3%81%B9&dtype=0&dname=0na&stype=0&pagenum=1&index=22829818716400)
an old reading for 夕方（ゆうへ）(today usually read ゆうがた). The kanji are just
"gikun" ([義訓](http://www.csse.monash.edu.au/~jwb/cgi-
bin/wwwjdic.cgi?1MUE%E7%BE%A9%E8%A8%93)), that is, they're used for their
meaning only and their reading is ignored.

The word 今日 was originally read けふ, which anybody who has read the [iroha-
uta](http://en.wikipedia.org/wiki/Iroha) probably knows. You can also still
hear the old け today in the word 今朝（けさ）. It probably turned into けう and then
into きょう in the various kana reading changes over the years.




The reading ゆうべ comes from the still-in-use word 夕べ（ゆうべ）, which [apparently
came
from](http://dic.yahoo.co.jp/dsearch?enc=UTF-8&p=%E3%82%86%E3%81%86%E3%81%B9&dtype=0&dname=0na&stype=0&pagenum=1&index=22829818716400)
an old reading for 夕方（ゆうへ）(today usually read ゆうがた). The kanji are just
"gikun" ([義訓](http://www.csse.monash.edu.au/~jwb/cgi-
bin/wwwjdic.cgi?1MUE%E7%BE%A9%E8%A8%93)), that is, they're used for their
meaning only and their reading is ignored.

The word 今日 was originally read けふ, which anybody who has read the [iroha-
uta](http://en.wikipedia.org/wiki/Iroha) probably knows. You can also still
hear the old け today in the word 今朝（けさ）. It probably turned into けう and then
into きょう in the various kana reading changes over the years.

