not much advice and im assuming you have tried it, but when he wakes at 7pm, do you go in and feed him in the dark and resettle as if it was 11pm, 1 am etc? I would be trying to treat it like during the night so he learnt that he needed to sleep at that time (I feel your pain tho, I would hate my kids to be night owls! im in bed by 830 myself!)

at that age I had DS's only a very relaxed schedule that they wouldn't sleep any later than 2 hours before I wanted them to go down for the night. So DS1 was 4pm he was up and being put into bedtime routine at 6pm (which was a BF/cuddles till 7pm when he want to bed), DS2 was 5pm cuz he was doing the bed routine at 7pm.

with regards to the longer sleep earlier NO IDEA. lol I can never get my kids to sleep longer/ shorter when I want! usually if I don't mind a short one, the sleep forever! and vice versa!

Good luck.