コード例 #1
0
 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));
 }
コード例 #2
0
 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;
 }