I have an application that is heavily time dependent. To make testing easier I would like to be able to start my node application at specific points in time.

```
NODE_FAKE_TIME=true node app.js 

```

I am using something like this inside of my app.js

```
if(process.env.NODE_FAKE_TIME) { 
  var time = parseInt(moment(moment().format('YYYY-MM-DD 04:00:00')).format('XSSS'));
  var clock = sinon.useFakeTimers(time, "Date");    
}

```

However is there a better way to do this other than using sinon's useFakeTimers? Because by doing this yes it does change the clock time.... however it affects other things like setIntervals and setTimeOuts.

I just want a clean way of specifying the time in the application's eyes so everywhere I am using Date.now it will go off the time I specify at runtime.

Thanks,