Most times it's due to poor sleeping habits. If you sleep too late, you will have trouble waking up early. Sleeping in a noisy area will also interrupt your sleep. This means you won't rest and will find it hard to wake up in the morning.
When you'd stay up all night & sleep in the morning, set an alarm about an hour before the time you wake up & set it an hour before that each night until you reach the hour you want to wake up to everyday & your body will get used to it. I an hour is too much then go 30 minutes. (: