It's been discussed in various places including in much detail here that Android does not permit user applications to change system time (with good reason).
However, would it be possible to change the time displayed to the user (top of the screen and unlock screen etc), without changing the system time?
Basically, the user would see one time and the system would use a different (actual) time for all the necessary processes.