Pegar Partes de uma Data com PHP
Neste artigo vou mostrar como faço para pegar partes de uma data no PHP, uma leitura interessante também é o post que criei aqui: Trabalhando com Datas no PHP
Você já precisou pegar apenas o dia, o mês ou o ano de uma determinada data? Pois bem, quando você quer saber o dia, o mês ou o ano atual, é muito simples, você pode utilizar a função date do PHP. Veja como é simples:
echo "Dia=" . date("d") . "";
echo "Mes=" . date("m") . "";
echo "Ano=" . date("Y") . "";
A função date te permite pegar partes da data atual facilmente, contudo, para outras datas, como por exemplo para uma data que está em uma variável ou uma data que está armazenada no banco de dados, a função date não irá te ajudar. Nesses casos, utilizo uma função que retorna a data no formato de um array assossiativo, veja o código abaixo:
class Anderson_Makiyama_Functions{
public static function get_data_array($data,$part=''){
$data_ = array();
$data_["ano"] = substr($data,0,4);
$data_["mes"] = substr($data,5,2);
$data_["dia"] = substr($data,8,2);
if(empty($part))return $data_;
return $data_[$part];
}
public static function get_data_array_br($data,$part=''){
$data_ = array();
$data_["ano"] = substr($data,6,4);
$data_["mes"] = substr($data,3,2);
$data_["dia"] = substr($data,0,2);
if(empty($part))return $data_;
return $data_[$part];
}
}
$data = "27/12/2011";
$anderson_makiyama_functions = new Anderson_Makiyama_Functions();
$data_array = $anderson_makiyama_functions->get_data_array_br($data);
echo $data_array["ano"];
No exemplo acima, foi sugerido a data 27/12/2011, ou seja, uma data no padrão brasileiro, assim sendo, fiz uso do método get_data_array_br, se você estiver trabalhando com uma data no formato Ano/mes/dia, utilize o outro método get_data_array. Em ambos os casos, a função irá retornar um array indexado por dia, mes e ano, com isso você pode pegar qualquer parte da data facilmente. Veja:
$data = "27/12/2011";
$data_array = $anderson_makiyama_functions->get_data_array_br($data);
echo "Dia= " . $data_array["dia"] . "";
echo "Mes= " . $data_array["mes"] . "";
echo "Ano= " . $data_array["ano"] . "";
Os Métodos get_data_array e get_data_array_br também te permitem informar qual parte da data você quer, nesse caso, invés de um array como retorno, o retorno será exatamente a parte da data desejada. Para pegar somente uma parte de uma data, basta informar como segundo parâmetro ao método qual é a parte desejada, as opções são: “dia”, “mes” e “ano”. Vejo o exemplo abaixo onde obtenho apenas o mês de uma dada Data:
$data = "27/12/2011";
$anderson_makiyama = new Anderson_Makiyama_Functions();
$mes = $anderson_makiyama_functions->get_data_array_br($data,"mes");
echo $mes;
Se você está trabalhando com uma data oriunda do Mysql, deverá utilizar o método get_data_array…
Leia o Artigo Completo →
Artigos Populares do Mês