Transforms a localized date string/array into a normalized date.
public reverseTransform ( string | array $value ) : DateTime | ||
$value | string | array | Localized date string/array |
Результат | DateTime | Normalized date |
/** * @param string $dateRangeString * * @return null|DateRange */ public function reverseTransform($dateRangeString) { if (!$dateRangeString) { return null; } $dateRangeArray = explode($this->separator, $dateRangeString); $start = $this->dateTimeTransformer->reverseTransform($dateRangeArray[0]); $end = $this->dateTimeTransformer->reverseTransform($dateRangeArray[1]); return new DateRange($start, $end); }
/** * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException */ public function testReverseTransformWithNonExistingDate() { $transformer = new DateTimeToLocalizedStringTransformer('UTC', 'UTC', \IntlDateFormatter::SHORT); $this->assertDateTimeEquals($this->dateTimeWithoutSeconds, $transformer->reverseTransform('31.04.10 04:05')); }
/** * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException */ public function testReverseTransformOutOfTimestampRange() { $transformer = new DateTimeToLocalizedStringTransformer('UTC', 'UTC'); $transformer->reverseTransform('1789-07-14'); }
/** * @expectedException Symfony\Component\Form\Exception\TransformationFailedException */ public function testReverseTransformWrapsIntlErrors() { $transformer = new DateTimeToLocalizedStringTransformer(); $transformer->reverseTransform('12345', null); }
public function testReverseTransformWrapsIntlErrors() { $transformer = new DateTimeToLocalizedStringTransformer(); $this->setExpectedException('Symfony\Component\Form\Exception\TransformationFailedException'); $transformer->reverseTransform('12345', null); }