How can I move my game time forward?

How can I make time advance in-game? For example I want my player to be able to sleep so when they wake up time has advanced by 7 to 9 hours. I have a night and day system and a clock that are two independent but synchronized systems. But I would like everything in my level to advance by X hours when that happens. Audio cues, night and day system, clock, anything time-based. Any thoughts on how to achieve it?

Without seeing your code for this stuff, it is pretty hard to determine what you need to do. But, if you have a “Time system” (that I can only assume controls what time it is in the world), then your other systems (skyboxes, sounds, AI behaviors) should all be running off of data given from that system.

You could have events in your Time system that fire when an hour passes, when a certain time is reached, etc.

All your really need to do is set your time in your timing system, and fire an event like TimeShift or something like that, and then you can update your other systems accordingly.

Actually, none of these systems are tied together. The day and night sets sun moon clouds and everything sky-based, the clock is just a clock synced with the day and night system, and the environment sounds are integrated using delays and loops. How can I make events be time-based? The sounds for example. How could I tie them to my day and night system? There is a “time of day” variable. If I figure these out I think I can move to time shifting. Just too many things running on schedule, I need to tame them somehow!