Well, 天 is also the word for "sky", and is quite casual when talking about days. 今天 and 明天 mean "today and tomorrow" respectively. 日子 is much more litteral, for example, you'd use 日子 when you're writing, or making a speech, and you CAN also say 今日 and 明日, but they're much more formal :)