Time.setTime() to epoch in the past?

I’m having trouble using Time.setTime() to reset the spark core’s clock to some epoch time in the past. Passing an epoch time that is less than the current epoch time has no effect, but passing something greater than the current epoch time (i.e. in the future) moves the clock forward. I’ve confirmed this by dumping Time.timeStr() to serial

currentTime = 1411568974 // Wed 9/24/2014
Time.setTime(1411655374) // OK - thurs 9/25/2014
Time.setTime(1411396174) //Mon 9/22/2014 - no effect

Am I missing something here?

I am not sure why that is not working. The Time.setTime() method tries to be clever and gradually move from current time to previous time if you are within +/- 127 seconds but otherwise just sets the time. You should be outside that range.

You could try calling Set_UnixTime(1411396174); directly I guess. That just updates the RTC directly. You will likely have to extern this function to call it.