Jardel Bazi • Sistemas Web • Balneário Camboriú • Santa Catarina Jardel Pavan Bazi, Programador WEB, Conhecimento em PHP - JAVA - JavaScript - Jquery - Acadêmico do Curso Superior de Tecnologia em Sistemas para Internet hospedagem de sites,intranet,jardel pavan bazi,php java jquery,programador web,sistemas para internet,sistemas web,univali
Inverter Datas

Inverter Datas

mai 18

A função que estou criando hoje será para inverter uma variável. Como exemplo irei trabalhar com as data geradas no Banco de Dados.

Nos SGBDs (Softwares Gerenciadores de Banco de Dados) o padrão para os atributos que necessitam do dominio do tipo DATE é o YYYY-MM-DD(Ano – Mês – Dia).

Quando inserimos, alteramos ou selecionamos algum tipo de dado, precisamos passar a data no formato americano citada acima.

Uma forma que utilizo para isso é usando 3 funções do PHP:

Vamos ao exemplo:

// Data no banco de dados = 2011-05-18
// O sistema irá mostrar 18/05/2011

// Forma simplificada
$data = '2011-05-18';
$nova_data = join('/', array_reverse(explode('-', $data)));

echo $nova_data;

// Forma extensa
$data = '2011-05-18';
$data_explode = explode('-', $data);
$data_reverse = array_reverse($data_explode);
$nova_data = join('/'. $data_reverse);

echo $nova_data

Nos 2 exemplos acima o retorno da variavel $nova_data será 18/05/2011

Abaixo explicação de cada uma das funções utilizadas:

Explode

Divide uma string em strings. O retorno será um array de strings de acordo com o caracter passado no primeiro parâmetro.

Exemplo:

$string = 'Testando a função explode';
$array = explode(' ', $string);

print_r($array);

O retorno acima será gerado o seguinte array:

Array
(
[0] => Testando
[1] => a
[2] => função
[3] => explode
)

Para imprimir um determinado valor do array, devemos informar o seu índice:

echo $array[0];

Será Impresso: “Testando”.

Array Reverse

Retorna um array com os elementos na ordem inversa. A função um array como parâmetro e retorna um novo array invertido.

Exemplo:

$array = array('Testando','inverso');
$novo_array = array_reverse($array);

print_r($novo_array);
print_r($novo_array);

O retorno acima será gerado o seguinte array:

Array
(
[0] => Testando
[1] => inverso
),
Array
(
[0] => inverso
[1] => Testando
)

Join

A função join() é um sinônimo da função implode(), no qual junta os elementos de um array em uma string.

$array = array('nome', 'telefone', 'email');
$string = join(',', $array);

echo $string ;

O exemplo acima será impresso: nome,telefone,email

2 comentários

  1. Dae Jardel, blz?

    Parabens pelo Blog, e pelo post, muito util isso, mas acabei ficando com uma dúvida.

    Não seria melhor tratar a data diretamente na saída do SGBD com a função DATE_FORMAT inserida no select?

  2. jardelbazi

    jardelbazi
    Posted on 20 de maio de 2011 (Edit)
    Grande Leonardo,

    Obrigado pela visita e pelo comentário. =)

    Quanto ao seu questionamento. Você está certo em formatar a data direto no SELECT.

    Mas o tuto acima eu me referia em Selecionar, Editar e Cadastrar datas.

    Com isso prefiro tratar todos os dados no PHP antes de enviar para o Banco de Dados.

Deixe uma resposta