public function testDateTimeZoneForDisplayValueIsTheSameAsTheColumn() { $column = new DateTimeColumn(); $column->setFormat('Y-m-d H:i:s'); $column->setTimezone('UTC'); $now = new \DateTime('2000-01-01 01:00:00', new \DateTimeZone('Europe/Amsterdam')); $this->assertEquals('2000-01-01 00:00:00', $column->getDisplayedValue($now)); }
public function getFilters($source) { $parentFilters = parent::getFilters($source); $filters = array(); foreach ($parentFilters as $filter) { if ($filter->getValue() !== null) { $dateFrom = $filter->getValue(); $dateFrom->setTime(0, 0, 0); $dateTo = clone $dateFrom; $dateTo->setTime(23, 59, 59); switch ($filter->getOperator()) { case self::OPERATOR_EQ: $filters[] = new Filter(self::OPERATOR_GTE, $dateFrom); $filters[] = new Filter(self::OPERATOR_LTE, $dateTo); break; case self::OPERATOR_NEQ: $filters[] = new Filter(self::OPERATOR_LT, $dateFrom); $filters[] = new Filter(self::OPERATOR_GT, $dateTo); $this->setDataJunction(self::DATA_DISJUNCTION); break; case self::OPERATOR_LT: case self::OPERATOR_GTE: $filters[] = new Filter($filter->getOperator(), $dateFrom); break; case self::OPERATOR_GT: case self::OPERATOR_LTE: $filters[] = new Filter($filter->getOperator(), $dateTo); break; default: $filters[] = $filter; } } else { $filters[] = $filter; } } return $filters; }