D..
If you aren't working and your husband is the one doing odd jobs, then the burden falls on you to get him on a schedule. This means waking, snacks, lunch, quiet time, dinner, and bed.
Spontaneous is okay as long as it's AROUND the eating and sleeping schedule.
At least you aren't worrying about a nap. That makes it easier.
You get him up at the same time every morning. Even if you want to sleep in. No more sleeping in. At night time, NO TV after supper. Don't have a very long bedtime ritual. That actually makes it harder. Bedtime should be quiet and laid back - no wrestling or running around. Have some bedtime music playing on a CD.
I would put him to bed no earlier than 8:30. In fact, I'd put him to bed at 9:00. Then do not let him come out of the room. Don't talk to him, don't interact with him. When he can't find anything to do and you aren't coming in entertaining him, he'll go to sleep.
Keep doing the same exact thing every night and get him up at 7:30 every morning, no matter what. It might take time, but if you are absolutely consistent, he will finally adjust.
ETA: I just read your SWH - sorry about that. Okay, here's what I'd add to what I've already advised. Do what Supernanny does. Sit in the floor in the room with him, in the MIDDLE of the room. Only have a nightlight in there. Don't move, don't talk, don't look at him. At the beginning, he'll get out of the bed over and over. Get up and put him back in the bed and sit back down in the floor. Don't talk to him. Just keep putting him back in the bed. If you find that he's playing with toys in the bed, remove those toys the next day, putting them in his closet so that they aren't a temptation for him.
It will take time, but if you just do not make things fun for him at all, he will get tired of this and start falling asleep earlier and earlier. Give it about 2 weeks. I promise you, you'll make headway.
Sending you strength~
Dawn