Time-based puzzle box

Well in terms of the time, if the box has no idea what time it is (due to no RTC, or dead RTC battery), you could have a backup system with an ethernet shield, and there is a plug for the ethernet port on the outside of the box, and the Arduino would attach to the network and do a NTP request (maybe talk to a server to see if there is some other reason to open the box).

Similarly with a wifi shield, though there might not be an open wifi network for it to use.

Finally if you have a GPS sensor, that provides accurate time.

Of course, it may be useful to have a backdoor so you can open it without it being the correct time.