First, without admin rights it is not possible to set the system clock on OS level. This would also affect all software running on the machine. But you want to change the clock just for one program. So when you deny this option of setting the system clock then it follows that any kind of code change is necessary (what you don't want). You cannot fake the system time just by configuration properties without any code change.
Second, the idea of mocking java.util.Date (writing a subclass) might work for you, although it requires code change. See this interesting link using instrumentation.
Third, the new JSR-310 coming in Java 8 has a special class java.time.Clock
which allows to be injected in existing code and can simulate a fake clock. The advantage of this solution is: Once you have prepared your program this way then you can indeed change the clock later just by configuration. But at least once you need an initial code change.