PHP – Como formatar uma data em português?

PHP – Como formatar uma data em português?

13 de agosto de 2018 0 Por Ramos de Souza Janones

Formatar data em português: É simples retornar a data atual em português utilizando PHP, sem precisar usar malabarismos com arrays, ifs/elses, switch/case.. 

O php tem muitas funções, mas nem sempre lembramos de dar uma olhadapesquisada no manual, antes de tentarmos reinventar a roda.

Abordagem com strftime

Use strftime() para criar a data por extenso, pois essa função pega automaticamente o locale. Como citado pelo @bfavaretto, basta informar o locale.

strftime() nas palavras do manual:

Formata uma hora/data local de acordo com o configuração de locale. Nome do mês e dia da semana e outras strings dependem do atual local definido com setlocale().

setlocale(LC_TIME, ‘pt_BR’, ‘pt_BR.utf-8’, ‘pt_BR.utf-8’, ‘portuguese’);
date_default_timezone_set(‘America/Sao_Paulo’);
echo strftime(‘%A, %d de %B de %Y’, strtotime(‘today’));
saida:

Evento gratuito de tecnologia: inscreva-se na 3ª edição do Dev Summit:

  1. Vem ai a 3ª edição do maior evento hands-on de desenvolvimento de software do Brasil. Vamos apresentar tecnologias, ferramentas e práticas em mais de 20 horas em sessões ao vivo com profissionais de referência em Full Stack, Flutter, Angular, React e muito mais.
  2.  



    quinta-feira, 06 de março de 2014
    %A: dia da semana por extenso.

    %d: dia do mês representado com dois digitos.

    %B: mês por extenso.

    %Y: ano representado com quatro digitos.

    Exemplo – strftime

    Abordagem com IntlDateFormatter

    É possivel também obter o mesmo resultado com as classes DateTime e IntlDateFormatter.

    Os formatos de data e hora são:

    Data
    Constante |Saida
    FULL |segunda-feira, 1 de setembro de 2014
    TRADITIONAL|segunda-feira, 1 de setembro de 2014
    LONG |1 de setembro de 2014
    MEDIUM |01/09/2014
    SHORT |01/09/14
    NONE |
    
    Hora
    Constante |Saida
    FULL |03h00min00s GMT+00:00
    TRADITIONAL|03h00min00s GMT+00:00
    LONG |03h00min00s GMT+00:00
    MEDIUM |03:00:00
    SHORT |03:00
    NONE |

    Exemplo – formato data/hora

    No construtor é necessario informar quatro argumentos: locale, formato da data, formato da hora e o tipo de calendário:

    <?php
    date_default_timezone_set('America/Sao_Paulo');
    
    $data = new DateTime();
    $formatter = new IntlDateFormatter('pt_BR',
                                        IntlDateFormatter::FULL,
                                        IntlDateFormatter::NONE,          
                                        IntlDateFormatter::GREGORIAN);
    echo $formatter->format($data);

    Exemplo – IntlDateFormatter

    Para uma saida personalizada use o método setPattern() e especifique o formato conforme a documentação

    Relacionada:

    De acordo com a documentação, há:

    • LC_ALL for all of the below
    • LC_COLLATE for string comparison, see strcoll()
    • LC_CTYPE for character classification and conversion, for example strtoupper()
    • LC_MONETARY for localeconv()
    • LC_NUMERIC for decimal separator (See also localeconv())
    • LC_TIME for date and time formatting with strftime()
    • LC_MESSAGES for system responses (available if PHP was compiled with libintl)

    Ou seja, ao utilizar LC_ALL estará afetando todos os itens descritos, incluindo o LC_NUMERIC, que define a formatação dos números. Caso queira que apenas a configuração de datas sefa afetada, basta alterar para LC_TIME:

    setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');

    Em resumo

    As necessidades vão surgindo e eu vou compartilhando com vocês.

    Ao usar a função date() para retornar o mês por extenso, o nome ficava em inglês.

    echo date("F/Y", strtotime("2016-09-22"));
    // September/2016

    Segundo o site oficial “Para formatar datas em outros idiomas, você deve utilizar as funções setlocale() e strftime() em vez de date()“.

    Como vender Software - Seja desktop, web ou Mobile

    Segui o conselho e cheguei ao código abaixo:

    setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
    echo ucfirst( utf8_encode( strftime("%B de %Y", strtotime("2016-09-22") ) ) );
    // Setembro de 2016

    obs. usei a função ucfirst() para tornar a primeira letra em maiúsculo.

    PHP do Zero ao Profissional

    O que é PHP?

    PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor”, originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.[3] Figura entre as primeiras linguagens passíveis de inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O código é interpretado no lado do servidor pelo módulo PHP, que também gera a página web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e além disso, ganhou características adicionais, que possibilitaram usos adicionais do PHP, não relacionados a web sites. É possível instalar o PHP na maioria dos sistemas operacionais, gratuitamente. Concorrente direto da tecnologia ASP pertencente à Microsoft, o PHP é utilizado em aplicações como o MediaWikiFacebookDrupalJoomlaWordPressMagento e o Oscommerce.

    Tutoriais:

    Criado por Rasmus Lerdorf em 1995, o PHP tem a produção de sua implementação principal, referência formal da linguagem, mantida por uma organização chamada The PHP Group. O PHP é software livre, licenciado sob a PHP License, uma licença incompatível com a GNU General Public License (GPL) devido a restrições no uso do termo PHP.

    História do PHP

    A linguagem PHP foi desenvolvida em 1995 por um programador dinamarquês chamado Rasmus Lerdorf. Além disso, também foi uma das primeiras linguagens da história a lidar diretamente com HTML, e atualmente é mantida por uma organização chamada The PHP Group.

    Durante toda sua existência, o PHP passou por muitas evoluções e versões, atualmente está em sua versão 7(Lançada em 2014), que por sua vez revolucionou a forma como utilizamos a linguagem no desenvolvimento de novas aplicações web.

    Versões do PHP

    Antes do PHP ser o que conhecemos hoje em dia, ele era apenas um conjunto de utilitários feitos em C para manipular código HTML, o seu criador, Rasmus Lerdorf, o chamava de PHP/FI, e o utilizava principalmente para contar a quantidade de visitas em seu site.

    Logo depois, em 1998 foi lançada a versão 3, que dá início a era do PHP que conhecemos hoje em dia. Esta versão foi um tremendo sucesso na época, pois ela trazia muitas funcionalidades poderosas, como uma interface para conexão com múltiplos bancos de dados, melhoramento do design e sintaxe da linguagem, e suporte a orientação a objetos.

    Logo após o sucesso do PHP 3, programadores começaram a desenvolver uma nova versão da linguagem. O foco deles era reescrever o núcleo da linguagem criando uma nova engine, para com isso, melhorar a performance e segurança da linguagem.

    Então, sendo assim, em maio de 2000 foi lançando o PHP 4 com a Zend engine(novo motor da linguagem), e que trazia suporte a diversos servidores web, sessões, cookies, e melhorias de segurança.

    Após, longos anos de desenvolvimento, em um processo que envolveu dezenas de desenvolvedores, em 2004, foi lançada a versão 5, que foi a responsável por popularizar o PHP no mundo todo, que trouxe com ela uma nova engine(Zend engine 2.0), que trouxe muitas melhorias no desempenho e segurança da linguagem.

    Por diversos problemas durante o desenvolvimento, comunicação, comunidade e marketing, o PHP não teve versão 6, e foi direto para versão 7. E podemos dizer, que o PHP 7 marcou uma grande evolução na linguagem, tornando-a muito mais madura e veloz.

    O PHP 7 foi lançado em agosto de 2015, e trouxe diversas melhorias no desempenho, remoção de funções e APIs depreciadas, adição de tipagem quando trabalhamos com funções e classes anônimas.

    Tudo isso de fato, revolucionou a forma como usamos a linguagem, e com certeza marca o início de uma nova era na linguagem.

    Abaixo, confira um infográfico sobre a história do PHP e suas versões.

    Zend

    É fato, que diversos desenvolvedores e empresas foram envolvidas no processo de desenvolvimento do PHP. Mas, tenho que destacar uma das companhias mais importantes para toda a história da linguagem, e que graças a ela, o PHP é o que é Hoje.

    Estou falando da Zend, empresa criada por dois dos maiores contribuidores da linguagem(Andi Gutmans e Zeev Suraski), e que ainda hoje, contribui bastante para a linguagem e sua comunidade.

    A Zend também é muito conhecida pelo seu framework, que é um dos mais maduros e consolidados do mercado, sendo utilizado como padrão por muitas outros no mercado.

    Sem comentar, que além de tudo isso a Zend ainda oferece uma certificação PHP (ZCE – Zend certified engineer), que com certeza é uma das mais relevantes da linguagem, e que serve como uma forma de testar o conhecimento de diversos desenvolvedores.

    Quem usa PHP?

    Segundo uma pesquisa da W3Techs, PHP é a linguagem de programação server-side mais usada no mundo, sendo utilizada por mais de 78% dos sites de toda web. Além disso, grandes sites de todo o mundo utilizam o PHP, tudo graças ao poder e versatilidade da linguagem, confira abaixo a lista de algumas empresas que usam o PHP em seus projetos.

    • Facebook
    • Yahoo
    • Wikipedia
    • Flickr
    • Tumblr
    • WordPress
    • Mailchimp
    • Cielo
    • Catho
    • Senac

    De acordo com a BuildWith até a data de publicação desse artigo, os números do PHP são realmente expressivos:

    • Há 35,492,016 sites que podem ser encontrados na Internet usando PHP
    • O país que atualmente mais utiliza o PHP de forma disparada é os EUA seguido da Rússia, e com o Brasil em sétimo lugar.
    • O repositório principal do PHP no Github possui mais 21k de stars e mais de 100 mil commits.

    Documentação

    Uma das coisas que chamam mais atenção no PHP é a sua ótima documentação, que é bastante amigável para iniciantes e para toda a comunidade em geral. De fato, a documentação do PHP é excelente, pois cobre todos os recursos da linguagem de uma maneira detalhada e com diversos exemplos.

     

    Seu primeiro código PHP

    Agora vamos por a mão na massa, nesta seção, você vai criar o seu primeiro código em PHP, então, para início de conversa, abra o seu editor de código preferido(pode ser qualquer um: Notepad++SublimeVSCode, etc.), após isso, crie uma pasta (de preferência na sua área de trabalho) para guardar todos os seus scripts PHP e abra em seu editor.

    Após isso, dentro da pasta, crie seu primeiro arquivo PHP, e para fazer isso, basta você definir um nome para ele, e no final colocar a extensão .php, exemplo: ola.php

    Agora, com tudo pronto, está na hora de definir a estrutura básica do script, assim como no HTML, o PHP também tem uma estrutura inicial, e é muito simples:

    <?php ?>

    Então, a estrutura do PHP é basicamente composta por uma abertura(<?php), e um fechamento (?>), e todo código que você venha a escrever, tem que estar contido dentro desta estrutura, para ficar mais claro, veja este exemplo:

    1. <?php
    2. // Abertura do script
    3. // O Código entra aqui, entre a abertura e o fechamento
    4. // Fechamento do script
    5. ?>

    Caso, você escreva alguma lógica em PHP fora desta estrutura, ela não vai ser tratada como código,e sim como um texto qualquer, ou seja, ela não vai ser interpretada pela linguagem.

    Exibindo informações com o comando echo no PHP

    Pronto, você já tem a estrutura básica de um script PHP, agora está na hora de aprender o seu primeiro comando na linguagem, que é o echo, que serve para exibir informações na tela.

    Para usá-lo, basta digitar echo e em seguida a mensagem que você deseja exibir, pode ser “Hello World!”(Entre aspas),e finalize colocando um ponto e vírgula(;)

    1. <?php
    2. echo “Hello World!”;
    3. ?>

    De início esta primeira linha de código pode ser um pouco confusa para iniciantes, então vamos destrinchá-la.

    Código echo PHP

    Está instrução, é composta por 3 partes, vamos analisar cada uma delas.

    1 – Echo

    Como já foi dito anteriormente, o echo é um comando interno do PHP que tem a utilidade de exibir informações na tela do navegador.

    2 – Informação

    Está é a mensagem que você quer “passar” para o echo, para ele exibi-la no navegador. Ela poderia ser qualquer informação, um nome, uma frase, um número, um e-mail, etc.

    Porém quando queremos trabalhar com informações textuais no PHP, temos que utilizar aspas, dupla(“) ou simples(‘), no início e no final do texto, ou seja, em outras palavras, toda informação textual no PHP, tem que ser escrita entre aspas.

    3 – Ponto e vírgula

    Toda vez que uma instrução for finalizada no PHP, você precisa dizer para a linguagem que aquele “comando” acaba naquele ponto, e para fazer isso, basta você colocar o sinal de ponto e vírgula no final de cada comando.

    Caso você não faça isso em cada instrução do seu código, o interpretador do PHP vai te exibir diversos erros. Então, isso significa que o uso do ponto e vírgula é obrigatório ao final de cada instrução.

    Executando o código

    Agora está na hora de testar o seu primeiro script, mas antes, precisamos iniciar o servidor embutido do PHP, e para fazer isso é simples, basta abrir seu terminal(Ou Prompt de comando no Windows), e navegar até a pasta onde seu script está armazenado.

    Navegando até a pasta com o terminal/CMD

    No meu caso, eu armazenei o código em uma pasta na minha área de trabalho, então, no meu prompt de comando, eu vou navegar até minha área de trabalho desta forma:

    O comando cd no CMD do Windows e no terminal do Linux, serve para mudar de um diretório para o outro, utilizando ele, com a palavra Desktop, eu disse para o Windows que eu gostaria de ir até o diretório da minha área de trabalho, onde está a pasta com meu código PHP.

    Após entrar no desktop, eu vou navegar até a pasta de meus scripts novamente com o comando cd.

    OBS: No meu caso, minha pasta estava na minha área de trabalho, a navegação com o comando CD vai mudar completamente dependendo do local onde você guardou sua pasta.

    Iniciando o servidor embutido

    Com o terminal aberto na pasta correta, digite o seguinte comando para iniciar o servidor embutido do PHP:

    php -S localhost:8080

    OBS: o “S” tem que ser maiúsculo

    Caso você tenha instalado o PHP corretamente em seu computador, o resultado deste comando será este.

    PHP 7.2.12 Development Server started at Sun Jan 13 16:57:59 2019 Listening on http://localhost:8080 Document root is C:\Users\victo\Desktop\php_guia_para_iniciantes\codigos Press Ctrl-C to quit.

    Pronto, agora minimize o Prompt de comando, e não feche-o, pois se não o servidor será finalizado.

    Abrindo no navegador

    Agora, chegou o momento da glória, vamos abrir nosso navegador, e acessar o endereço do servidor local que criamos anteriormente, que nesse caso é este endereço: http://localhost:8080.

    Endereço do server PHP

    E de cara você vai se deparar com esta tela

    Primeira tela do servidor PHP

    Não é bem o que esperávamos, e isso acontece pois o PHP não está identificando nenhum arquivo principal. Mas neste caso, queremos executar o arquivo ola.php, então no endereço vamos digitar \ola.php e veremos o que acontece.

    Hello world em PHP

    Oba! nosso código está funcionando.

    Arquivo index

    Em um mesmo projeto PHP, podemos ter diversos arquivos independentes, por enquanto, em nosso projeto, temos apenas um arquivo, vamos criar mais um, desta vez, eu vou chamá-lo de son.php, e dentro dele eu vou ter o seguinte código:

    Agora, eu quero executar este arquivo específico, mas como faço isso? Simples, só ir até o endereço do seu servidor local, e adicionar o nome do arquivo mais a extensão .php no final do endereço.

    Só que além deste recurso de múltiplos arquivos, a linguagem também oferece um recurso chamado arquivo index, que por convenção é o principal arquivo de uma aplicação PHP. Então agora, eu vou criar um novo arquivo chamado index.php.

    Agora, repare que quando você acessar o endereço direto do seu servidor(No nosso caso http://localhost:8080), o PHP vai te levar direto para o arquivo index.php

    Legal, não é mesmo? Então, daqui em diante neste guia, vamos utilizar bastante o recurso do arquivo index.php

    Variáveis

    O que são variáveis

    Durante o desenvolvimento de um programa computacional, muitas vezes é necessário armazenar informações de uma forma temporária, por exemplo, a data de nascimento de um usuário, o e-mail de uma pessoa, um número ou um texto qualquer.

    Para que seja possível armazenar informações em um programa, utilizamos de um artifício chamado variável. Uma variável é um espaço na memória do seu computador, no qual o seu programa pode acessar para salvar dados de forma temporária, e acessá-los quando necessário.

    Geralmente, toda linguagem de programação permite que trabalhemos com variáveis. Então, a questão é, como criar variáveis no PHP?

    Como declarar uma variável

    Na programação, o processo de criação de uma variável é chamado de declaração, para declarar uma variável no PHP, primeiro, digite o símbolo de dólar(Cifrão) $, o cifrão é a forma de você dizer para o PHP que você quer trabalhar com uma variável. Após isso defina um nome para a sua variável, como no exemplo abaixo:

    <?php $minhaVariavel; ?>

    Para definir o nome de uma variável corretamente, existem algumas regras a serem seguidas, confira abaixo:

    • Não pode ter acento
    • Não pode ter espaço
    • Não pode iniciar com um número
    • Pode ter letras minúsculas e maiúsculas
    • Pode ter underline(_)

    Exemplo:

    <?php // Correto $minhaVariavel; // Errado $minha Variavel; // Correto $minha_variavel; // Errado $1variavel; //Errado $joão // Correto $joao ?>

    Caso você não siga estas regras, o interpretador do PHP vai te mostrar alguns erros durante a declaração da variável.

    Bom, você criou sua primeira variável, mas o processo ainda não está finalizado, além de você ter que definir um nome para ela, você ainda precisa definir um valor inicial, e para fazer isso basta, após o nome da variável, adicionar um símbolo de igual(=), e após isso passar o valor que você quer armazenar, pode ser o valor 25 como no exemplo abaixo:

    $minhaVariavel = 25;

    Pronto, com isso você conclui o processo de declaração de variável, e já está armazenando o valor 25, temporariamente dentro do espaço de memória “minhaVariavel”, simples não é mesmo?

    Inclusive, no PHP, também é possível utilizar o comando echo, junto com variáveis, basta digitar echo, após isso o cifrão($) junto com o nome da variável:

    $minhaVariavel = 25; echo $minhaVariavel; //Resultado no navegador 25

    PS: Lembre-se, que toda vez que você quiser trabalhar com variáveis, você precisa usar o cifrão($) antes do nome, essa é a forma que o PHP sabe que aquilo que você quer manipular é uma variável.

    Ei Psiu! As variáveis são mutáveis

    Outro ponto muito importante a ser ressaltado, é que uma variável pode ter seu valor modificado diversas vezes durante a execução de um programa, é por isso que ela é chamada de “variável”, pois seu valor pode “variar” conforme o necessário.

    Para atualizar o valor de uma variável no PHP, é muito simples, basta chamar ela no código(cifrão($) + nome), usar o sinal de =, e passar um novo valor, veja o exemplo abaixo:

    $minhaVariavel = 25; echo $minhaVariavel; //Resultado no navegador 25 $minhaVariavel = 66; echo $minhaVariavel; // Resultado no navegador 66 | Atualizado

    Agora, o valor da “minhaVariavel” é 66 pois eu o atualizei. Contudo, é importante ressaltar, que quando você atribui um novo valor a uma variável, o antigo valor dela é perdido, então, tome cuidado.

    Mais sobre Função Date PHP

    função date() do PHP recebe apenas um parâmetro: o formato de data. Por padrão, sempre será mostrada a data do momento atual da execução, como mostra o código a seguir:

    <?php
      echo date("d/m/Y");
      // 20/06/2015

    Função time

    A função time() do PHP retorna qualquer número de segundos desde a era UNIX, que é de 1º de Janeiro de 1970 00:00:00 até a hora atual de execução. Este número também é chamado de timestamp UNIX. Para utilizar a função basta declara-la.

    <?php
      $nextWeek = time() + (7 * 24 * 60 * 60);
      echo 'Now:       '. date('d-m-Y') ."<br>";
      echo 'Next Week: '. date('d-m-Y', $nextWeek) ."<br>";
      echo 'Next Week: '. date('d-m-Y', strtotime('+1 week')) ."<br>";
    // Now: 04-07-2015 à Data atual
    // Next Week: 11-07-2015 à Uma semana após a data atual
    // Next Week: 11-07-2015 à Uma semana após a data atual utilizando strtotime

    Função strtotime

    A função strtotime() recebe como parâmetro uma string de formato de data em inglês e tenta analisar esse formato. É como tentar transformar uma frase que possui possíveis informações de data em uma data real, como mostra o código a seguir:

    <?php
      echo 'Next Month: '. date('d-m-Y', strtotime('+1 month')) ."<br>";
      // Next Month: 04-08-2015

    A função date() traz a data atual da execução. Usando a função strtotime() e acrescentando +1 month, a mesma interpretará que a função deve retornar a data de execução mais um mês.

    Função mktime

    A função mktime() recebe como parâmetro hora, minuto, segundo, mês, dia e ano.

    <?php
      $data = mktime(02,30,00,04,30,1995);
       // Mostra 30-04-1995
       echo date("d-m-Y", $data)."<br>";
    
      // Mostra 30-04-1995 02:30
      echo date("d-m-Y H:i", $data)."<br>";
    
      // Mostra 1995
      echo date("Y", $data)."<br>";

    Função DateTime

    A função DateTime no PHP permite trabalhar com data e hora como se fossem objetos que podem ser facilmente manipulados através de diversos métodos, facilitando a criação de regras de negócio com base em datas, além da conversão e a manipulação de diferentes formatos. A criação de um objeto da classe DateTime é a maneira mais fácil de manipular datas na sua aplicação.

    <?php
                $atual = new DateTime();
                $especifica = new DateTime(' 1990-01-22');
                $texto = new DateTime(' +1 month');
    
                print_r($atual);
                print_r($especifica);
                print_r($texto);
    
    /* DateTime Object ( [date] => 2015-06-20 19:03:45 [timezone_type] => 3 [timezone] => UTC ) DateTime Object ( [date] => 1990-01-22 00:00:00 [timezone_type] => 3 [timezone] => UTC ) DateTime Object ( [date] => 2015-07-20 19:03:45 [timezone_type] => 3 [timezone] => UTC )
    */

    Veja que $atual é um novo objeto da classe DateTime e, como não é especificado nenhum parâmetro, então recebe a data e hora atual da execução. Já $especifica recebe o objeto também só que é especificado a data que será mostrada, enquanto que $texto recebe o mesmo objeto, só que um mês a frente da data atual da execução.

    A partir do momento que o objeto da classe DateTime é instanciado podemos transformá-lo em uma string utilizando o método format().

    <?php
                 $data = new DateTime();
                 echo $data->format('d-m-Y H:i:s');
                 $data = new DateTime('+1 month');
                 echo $data->format('d-m-Y H:i:s');
    
     // 20-06-2015 19:47:27
    // 20-07-2015 19:47:27

    Ajustando a data

    Com o objeto da classe DateTime criado podemos alterar apenas a data do objeto, utilizando para isso o método setDate(), que recebe três parâmetros: o ano, o mês e o dia para qual desejamos ajustar:

    <?php
                $data = new DateTime('22-01-1990');
                $data->setDate(1995, 3, 9);
                echo $data->format('d-m-Y H:i:s');
    
    // 09-03-1995 00:00:00

    A $data tem um objeto da classe DateTime recebendo uma data. Através do -> acessamos o método setDate() e alteramos a data para 1995, 3, 9.

    Caso tenha uma data vinda de um formulário no formato DD/MM/YYYY, não é necessário converter o formato da mesma para trabalhar com ela. Basta, através do método createFromFormat, especificar o formato que esteja trabalhando. Observe o exemplo a seguir:

    <?php
      $data = '09-03-1995';
      $data1 = DateTime::createFromFormat("d-m-Y", $data);
      echo $data1->format("d-m-Y");
    // 09-03-1995
    ?>

    Ajustando o horário

    Também podemos alterar apenas o horário do nosso objeto da classe DateTime utilizando o método setTime(). O mesmo recebe três parâmetros: a hora, os minutos e os segundos, sendo que os segundos é um parâmetro opcional:

    <?php
      $data = new DateTime('22-01-1990');
      $data->setTime(9, 15, 44);
      echo $data->format('d-m-Y H:i:s');
    // 22-01-1990 09:15:44

    Ajustando o fuso

    Para ajustarmos o fuso horário de um objeto data precisamos criar um novo objeto da classe DateTimeZone. Um objeto desta classe representa um fuso horário válido e pode ser utilizado junto ao método setTimezone() da classe DateTime:

    <?php
      $fuso = new DateTimeZone('America/New_York');
      $data = new DateTime('22-01-1990');
      $data->setTimezone($fuso);
      echo $data->format('d-m-Y H:i:s');
    // 21-01-1990 19:00:00

    $fuso é um objeto da classe DateTimeZone e recebe como parâmetro o fuso horário. $data é um objeto da classe DateTime e nele definimos uma data que, através do método setTimezone executamos o $fuso e com o método format() definimos um padrão de formato para nossa data e hora.

    Intervalos

    Em alguns momentos será necessária a criação e análise de intervalos entre datas. Objetos da classe DateInterval representam um intervalo entre datas que pode armazenar um tempo (em anos, meses, dias ou horas) ou uma string relativa ao tempo que pode ser interpretada pelo construtor da classe DateTime.

    Podemos criar intervalos utilizando um padrão que será passado ao método construtor da classe DateInterval. O padrão começa com a letra P, de período. A duração de cada período é representada por um número inteiro, seguido de um outro identificador de período. Se a duração do período contém horas, usamos o identificador T. Veja a seguir alguns identificadores existentes no PHP:

     

    • Y: Anos
    • M: Meses
    • D: Dias
    • W: Semanas
    • H: Horas
    • M: Minutos
    • S: Segundos

     

    Alguns exemplos para entenderem melhor:

     

    • P2D: Período de dois dias
    • P3M: Período de três meses
    • PT5S: Período de cinco segundos
    • P3YT8M: Período de três anos e oito minutos

    Exemplo:

    <?php
      $intervalo = new DateInterval('P3YT8M');
      print_r($intervalo);
    
      /*
       DateInterval Object
        (
          [y] => 3
          [m] => 0
          [d] => 0
          [h] => 0
          [i] => 8
          [s] => 0
          [invert] => 0
          [days] =>
        )
    */

    No exemplo criamos um novo objeto da classe DateInterval e passamos como parâmetro um período de três anos e oito minutos. Utilizando o print_r podemos ver perfeitamente o retorno, onde [y] =>3 representa os três anos e [i] => 8 representa os oito minutos.

    Além de montar um intervalo, podemos formatá-lo utilizando outro padrão, como o a seguir:

     

    • %Y: Ano, com dois dígitos;
    • %y: Ano, com um ou dois dígitos
    • %M: Mês, com dois dígitos
    • %m: Mês, com um ou dois dígitos
    • %D: Dia, com dois dígitos
    • %d: Dia, com um ou dois dígitos
    • %a: Total de dias
    • %H: Hora, com dois dígitos
    • %h: Hora, com um ou dois dígitos
    • %I: Minuto, com dois dígitos
    • %i: Minuto, com um ou dois dígitos
    • %S: Segundo, com dois dígitos
    • %s: Segundo, com um ou dois dígitos
    • %R: Sinal de mais quando for um período positivo, menos quando negativo
    • %r: Sinal de menos quando for um período negativo, vazio quando positivo

     

    Tem mais dicas de PHP? Escreva nos comentários.

    Programação » PHP

    Subscribe to our mailing list

    * indicates required


    Além de PHP e MySQL, deseja receber outro tema?

    Email Format


    votes
    Article Rating

    LEIA TAMBÉM:  Download: Editor de temas para as IDEs do Delphi

    E-Zine Ramos da Informática

    * indicates required

    View previous campaigns.