Skip to content

Commit

Permalink
[MOD] add Datetime
Browse files Browse the repository at this point in the history
  • Loading branch information
lcp0578 committed May 29, 2019
1 parent 0712245 commit 10b7e3c
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 5 deletions.
44 changes: 44 additions & 0 deletions Form/DataTransformer/DateTimeTransformer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php
namespace Kit\FormBundle\Form\DataTransformer;

use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;

class DateTimeTransformer implements DataTransformerInterface
{
/**
* Transforms an object (DateTime) to a string (date).
*
* @param \DateTime|string $dateTime
* @return string
*/
public function transform($dateTime)
{
if($dateTime instanceof \DateTime){
return $dateTime->format('Y-m-d H:i:s');
}

return $dateTime;
}

/**
* Transforms a string (date) to an object (DateTime).
*
* @param string $dateStr
* @return string
* @throws TransformationFailedException if object (issue) is not found.
*/
public function reverseTransform($dateStr)
{
try{
$dateTime = new \DateTime($dateStr);
}catch (\Exception $e) {
throw new TransformationFailedException(sprintf(
'DateTime convert error!',
$e->getMessage()
));
}

return $dateTime;
}
}
8 changes: 3 additions & 5 deletions Resources/config/services.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
services:
_defaults:
autowire: true
autoconfigure: true
# kit_form.example:
# class: Kit\FormBundle\Example
# arguments: ["@service_id", "plain_value", "%parameter%"]
kit_form.form.data_transformer_date:
class: Kit\FormBundle\Form\DataTransformer\DateTransformer
Kit\FormBundle\Form\DataTransformer: ~
Kit\FormBundle\Form\DataTransformer\DateTransformer: "@kit_form.form.data_transformer_date"
Kit\FormBundle\Form\DataTransformer\DateTransformer:
autowire: true
kit_form.form.datatime_transformer_date:
class: Kit\FormBundle\Form\DataTransformer\DateTimeTransformer
Kit\FormBundle\Form\DataTransformer\DateTransformer: "@kit_form.form.datatime_transformer_date"

0 comments on commit 10b7e3c

Please sign in to comment.