/** * {@inheritdoc} */ public function decode($value, Field $field, Codec $codec = null) { if (empty($value)) { return null; } if ($value instanceof Microtime) { return $value; } return Microtime::fromString((string) $value); }
public function testDateTimeComparison() { $microtime = microtime(true); list($sec, $usec) = explode('.', $microtime); $usec = str_pad($usec, 6, '0'); $date = \DateTime::createFromFormat('U.u', $sec . '.' . $usec); $m = Microtime::fromString($sec . $usec); $this->assertSame($date->format('Y-m-d H:i:s.u'), $m->toDateTime()->format('Y-m-d H:i:s.u')); $this->assertEquals($date, $m->toDateTime()); $this->assertEquals($m->toDateTime()->getOffset(), (new \DateTime('UTC'))->getOffset()); }