/** * @test */ public function getDateTimeRespectsConfiguredTimezone() { ClockProvider::setTimezone('UTC'); $clock = new RealClock(); $now = $clock->getDateTime(); $this->assertInstanceof('DateTime', $now); $this->assertEquals($now->getTimezone()->getName(), date_default_timezone_get()); }
/** * @return DateTime */ public function getDateTime() { $now = DateTime::createFromFormat('U', $this->time); $now->setTimezone(ClockProvider::getTimezone()); return $now; }
<?php namespace Pekkis\Clock\Example; require_once __DIR__ . '/../vendor/autoload.php'; use Pekkis\Clock\ClockProvider; use Pekkis\Clock\FixedClock; use DateTime; // Real system clock, returns actual time $time = ClockProvider::getClock()->getTime(); var_dump($time); // Fixed clock (for testing for example) ClockProvider::setClock(new FixedClock(new DateTime('1978-03-21'))); $time = ClockProvider::getClock()->getTime(); var_dump($time); // Get time as datetime object $time = ClockProvider::getClock()->getDateTime(); var_dump($time->format('Y-m-d H:i:s'));
/** * @test */ public function listensToSetter() { $clock = new FixedClock(time()); ClockProvider::setClock($clock); $this->assertSame($clock, ClockProvider::getClock()); }