For cron tweaking, I like CronniX. It's pretty straightforward, and makes it a little easier than firing up a command-line editor. Once you open CronniX, you should change to the root crontab, by using the File: Open User's Crontab menu itme, and then entering root as the user. It should ask you to authenticate, and then show that the current crontab is that of root.
Now we'll add two rules, one for Friday to change it to the weekend startup time, and one for Sunday to change it to the weekday time. I set these to run at noon on both days, or you may prefer to have them run about 10 minutes after the scheduled boot for that day, to make sure the system isn't aleep when it's time to run them. Here's the command to use to set the schedule:
pmset repeat type weekdays time
Here's what each argument means:
- The type can be one of the following: sleep, wake, poweron, shutdown, or wakeorpoweron.
- The weekdays value is a subset of MTWRFSU. Strings such as M, MTWRF, and SU are all valid, meaning Monday, every weekday, or Saturday and Sunday, respectively.
- The time is of the format: HH:mm:ss (in 24 hour format).
pmset repeat wakeorpoweron SU 7:00:00
pmset repeat wakeorpoweron MTWRF 5:30:00
This screenshot shows what my CronniX looked like when I was done.
This same method could be applied to setting startup times to be different for different periods, just by changing the day/time of the command, as well as the cron task to run the day before the change is to take effect.

