如何模拟Magento 2的日期时间

I have used behat many times in the past and today I've just got behat and selenium running headless chrome to make BDD acceptance features for custom development in Magento 2. Previous methods have either been custom to the framework I'm using or have used Carbon and code looks like...

//Carbon
Carbon::setTestNow(Carbon::create(2001, 5, 21, 12));  

//Silverstripe Framework
SS_Datetime::set_mock_now('2003-11-01 12:12:12')

...and having done this the entire application would then use this as the current date/time, including things like the ORM where it would update "created" times on database records. I am now looking for the same thing within Magento CE 2.2.7 and have so far not found what I'm looking for. There is a dev doc page that hints at this stating...

Whenever your code requires access to some part of the environment, try to use a collaborator class that can easily be replaced by a test double (also referred to as a mock) instead. For example, if you… …need the current time? Inject a \DateTimeInterface instance (for example \DateTimeImmutable) and use that.

...however it doesn't seem to include any more information and after searching the code for this I'm still confused if there is a simple way to ensure the global system date-time is mocked or faked in this way so that I can...

  1. Make an order on day 1
  2. Move forward a day and process the order on day 2
  3. Move forward a week and customer marks the order for return on day 9
  4. etc.

Can anyone please help me with this?