Incorrect: It is raining for two days. Correct: It has been raining for two days. Incorrect: The baby is sleeping for three hours now. Correct: The baby has been sleeping for three hours now.
Here the error lies in using the present continuous instead of the present perfect continuous. We use the present perfect continuous tense to talk about an action which started in the past, has gone on till the present and is still continuing....