Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Trabalhando com Datas no PHP - #1 Entendendo a classe DateTime

11/05/2019

No tutorial de hoje trabalharemos com a manipulação de datas no PHP. Iremos ver a forma procedural e orientada a objetos.

Forma procedural

A maneira mais simples de utilizar datas no PHP é usando a função date. Para realizar operações podemos usar a função strtotime e para definir o fuso horário local usamos a função date_default_timezone_set

date_default_timezone_set("America/Sao_Paulo");
echo date("Y-m-d H:i:s");
echo date("d/m/Y");
$now=strtotime(date("Y-m-d H:i:s"));
$otherDate=strtotime("2019-05-09 19:20:30");
echo $now.'
'; echo date("Y-m-d H:i:s",$now); if($now > $otherDate){ echo "A data".date("d/m/Y",$now)."é maior!"; }else{ echo "A data atual é menor!"; }

Repare no código acima que podemos utilizar o strtotime pra realizar operações e comparações com data.

Forma orientada a objetos

Pra trabalhar com datas de forma orientada a objetos, podemos utilizar 03 classes principais DateTime, DateInterval e DateTimeZone. Veja alguns exemplos:

$now=new DateTime("now",new DateTimeZone("America/Sao_Paulo"));
$dateAdd=$now->add(new DateInterval("P10DT3H"))->format("d/m/Y H:i");

A classe DateTime tem vários métodos interessantes, entre eles os mais usados são: format, modify, add, sub e diff. Veja os exemplos abaixo:

$now=new DateTime("now",new DateTimeZone("America/Sao_Paulo"));
$otherDate=new DateTime("2019-05-07 17:00:00",new DateTimeZone("America/Sao_Paulo"));

//Format
$dateBr=$now->format("d/m/Y");
$timeBr=$now->format("H:i");
$dateOtherBr=$now->format("d/m/Y H:i");
echo "Fulano falou as ".$timeBr." do dia ".$dateBr;

//Modify
$dateModify=$now->modify("+3 days")->format("d/m/Y");
$dateModify=$now->modify("-20 days")->format("d/m/Y");
$dateModify=$now->modify("+1 year +1 month +10 days +30 minutes")->format("d/m/Y H:i");
$dateModify=$now->modify("last day of next month")->format("d/m/Y H:i");
$dateModify=$now->modify("first day of this month")->format("d/m/Y H:i");
echo $dateModify;

//Add and Sub
$dateAdd=$now->add(new DateInterval("P10DT3H"))->format("d/m/Y H:i");
$dateSub=$now->sub(new DateInterval("P10DT3H"))->format("d/m/Y H:i");
echo $dateSub;

//Diff
$dateDiff=$now->diff($otherDate);
var_dump($dateDiff);
if($dateDiff->m > 2){
    echo "Sua conta foi bloqueada!";
}else{
    echo "Ok";
}

Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Trabalhando com QRCODE no PHP
No tutorial de hoje aprenderemos como gerar QRCODE associados a urls e como usá-los no nosso sistema.
Saiba mais!
Trabalhando com Datas no PHP - #2 Construindo um sistema de locação veicular
No vídeo de hoje continuaremos a última aula trabalhando com datas no PHP. Para isso realizaremos a criaçao de um sistema de locação veícular.
Saiba mais!
PHP
PHP é uma das principais linguagens de programação utilizada nas plataformas web. Isso porque além de ser uma linguagem leve, o PHP é robusto.
Saiba mais!