示例#1
0
 public function testMappingFieldsOptionInputArrayWithFormat()
 {
     $dateTimeObject = new \DateTime('2012-05-03 12:41:11');
     $dateObject = new \DateTime('2012-05-03');
     $value = array('datetime' => $dateTimeObject, 'time' => $dateObject, 'string' => $dateTimeObject->format('Y-m-d H:i:s'), 'timestamp' => $dateTimeObject->getTimestamp());
     $this->column->setOptions(array('input_type' => 'array', 'datetime_format' => 'Y.d.m', 'input_field_format' => array('datetime' => array('input_type' => 'datetime'), 'time' => array('input_type' => 'datetime'), 'string' => array('input_type' => 'string', 'datetime_format' => 'Y-m-d H:i:s'), 'timestamp' => array('input_type' => 'timestamp'))));
     $this->assertSame($this->column->filterValue($value), array('datetime' => $dateTimeObject->format('Y.d.m'), 'time' => $dateObject->format('Y.d.m'), 'string' => $dateTimeObject->format('Y.d.m'), 'timestamp' => $dateTimeObject->format('Y.d.m')));
 }
示例#2
0
 /**
  * @param int
  * @return \DateTime
  */
 private function transformTimestampToDateTime($value)
 {
     if (!is_numeric($value)) {
         throw new \InvalidArgumentException(sprintf('Value in column "%s" should be timestamp but "%s" type was detected. Maybe you should consider using different "input" opition value?', $this->getName(), gettype($value)));
     }
     $dateTime = new \DateTime();
     $dateTime->setTimestamp($value);
     if (!$dateTime instanceof \DateTime) {
         throw new DataGridColumnException(sprintf('value "%s" is not a valid timestamp', $value));
     }
     return $dateTime;
 }