CxDatePtBrTransformer.php
1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
namespace Cacic\CommonBundle\Form\DataTransformer;
use Symfony\Component\Form\DataTransformerInterface;
/**
*
* Trata a data: alterna entre padrão SQL (2000-01-01) e padrão brasileiro (01/01/2000)
* @author CreatiX
*
*/
class CxDatePtBrTransformer implements DataTransformerInterface
{
public function __construct(){}
/**
* Transforma para o padrão brasileiro
*
* @param string $dbDateAndTime
* @return string
*/
public function transform( $dbDateAndTime )
{
if ( $dbDateAndTime !== null )
{
$_datetime = explode(' ', $dbDateAndTime);
$_date = explode('-', $_datetime[0]);
$_time = array_key_exists(1, $_datetime) ? $_datetime[1] : '';
return $_date[2] .'/'. $_date[1] .'/'. $_date[0] .' '. $_time;
}
else return '';
}
/**
* Transforma para o padrão de data do SQL
*
* @param string $cep
* @return \DateTime
*/
public function reverseTransform( $ptBrDateAndTime )
{
if ( $ptBrDateAndTime !== null )
{
$_datetime = explode(' ', $ptBrDateAndTime);
$_date = explode('/', $_datetime[0]);
$_time = array_key_exists(1, $_datetime) ? $_datetime[1] : '';
return ( $_date[2] .'-'. $_date[1] .'-'. $_date[0] .' '. $_time );
}
else return '';
}
}